2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

+ JavaScript の質問用スレッド vol.129 +

1 :Name_Not_Found:2016/02/24(水) 00:48:25.01 ID:???.net
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-6のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
・回答者同士のレスは原則禁止(>>6を参照)
・ライブラリの話題の投稿(>>6を参照)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

952 :Name_Not_Found:2017/07/30(日) 11:05:31.92 ID:???.net
JavaScriptがデフォルトで遅延評価になる日は来ますか?
現状配列をmapしてfilterして…みたいな使い方だとループを2度回すことになり無駄が多いのが不満です

953 :Name_Not_Found:2017/07/30(日) 11:36:54.71 ID:???.net
遅延評価って過程を事前にコンパイルしてできるだけ実行時の過程の処理を省略できるから意味がある訳で
スクリプト言語で実行時にそれをやっても良くはならないよ

954 :Name_Not_Found:2017/07/30(日) 11:39:07.06 ID:???.net
>>953
そうなんですね
素直にfor文使います
ありがとうございました

955 :Name_Not_Found:2017/07/30(日) 12:35:22.41 ID:???.net
>>950
> DOMを直接操作するのと何が違うのかよくわかんない。

できることが同じなら短いほうが良いでしょ?
それは可読性やバグ混入率にもつながる

jQueryを使わないで書く方法を見ればわかる。
どれもjQueryの方が短くなってるからw

956 :Name_Not_Found:2017/07/30(日) 13:22:30.54 ID:???.net
抽象化の利点が分からないのはちょっと痛いな

957 :Name_Not_Found:2017/07/30(日) 15:41:10.74 ID:???.net
jQuery原理主義者はいるぞ。
否定されるとゴキブリのごとくほいほいわいてくるw

958 :Name_Not_Found:2017/07/30(日) 15:49:38.18 ID:???.net
↑ほら湧いたw

959 :Name_Not_Found:2017/07/30(日) 15:49:57.29 ID:???.net
本当にいるのはどちらかよく分かるよねw

960 :Name_Not_Found:2017/07/30(日) 17:14:57.10 ID:???.net
jQueryはajaxを簡易に使うためくらいにしか使わないな
素のJavaScriptで全部できるし、jQuery使うと無駄に動作が遅くなる

961 :Name_Not_Found:2017/07/30(日) 17:24:17.00 ID:???.net
>>960
だからメリットがわからないんじゃね?
jQueryは3.0でSlim版っていうのができたが
これはAjax部分を取り除いたもの。

jQuey的にはAjaxはおまけ部分でしか無く
それだけしかお前が使っていないというならば
jQueryを分かってない人がjQueryを批判している図式にしかならないよ

962 :Name_Not_Found:2017/07/30(日) 17:24:52.61 ID:???.net
Ajaxも素のJavaScriptでできると思いますがねぇ

963 :Name_Not_Found:2017/07/30(日) 17:25:01.03 ID:???.net
>>955
コードが短くなるって利点は
typeScript使いの俺にはあんまり響かないなぁ
IDEで補完しまくるからそもそもほとんど打ち込まずに構築できるし。
なら極力使わないでいいかなと。

正直reactと言うよりreduxがしんどくなってきてelmに逃げたくなる自分がいる
仕事があるんかなw

964 :Name_Not_Found:2017/07/30(日) 17:28:20.65 ID:???.net
それってTypeScriptを使ってないとだめだよね?

965 :Name_Not_Found:2017/07/30(日) 17:29:48.18 ID:???.net
つまりtypeScriptを導入してないひとには
jQueryはメリットがあるってわけだな

966 :Name_Not_Found:2017/07/30(日) 17:30:40.08 ID:???.net
やはり抽象化が分かってない予感

967 :Name_Not_Found:2017/07/30(日) 17:32:33.58 ID:???.net
なんで抽象化の話が出てくるのかわからない。
関係ないだろ? いや、関係あるというのなら
どういう風に関係あるのかを説明してくれれば良いんだが

968 :Name_Not_Found:2017/07/30(日) 18:05:31.39 ID:???.net
>>961
単にajaxだけは素のJavaScriptだとコード量の差が大きいから、その部分だけ簡易にしたいだけで、
他は素のJavaScriptで全然いいやってだけなんだが
jQueryの良さを分かってないというか、別にajaxもjQuery使わずに実装できるし、なくても困らない
なんだフルにjQuery使う実装に固執しないとだめなんだ

969 :Name_Not_Found:2017/07/30(日) 18:32:38.11 ID:???.net
jQuery原理主義ってなんだ?
jQuery至上主義ならわかるが

970 :Name_Not_Found:2017/07/30(日) 20:08:23.54 ID:???.net
>>969
現代日本語での「原理主義」は
ファンダメンタリズムのことではなくただのレッテル貼りに使われる蔑称なので
特に意味は気にしなくていいんだよ

971 :Name_Not_Found:2017/07/30(日) 20:59:31.96 ID:???.net
>>968
> なんだフルにjQuery使う実装に固執しないとだめなんだ
逆だろ? jQueryを使わないことに固執してるだろ?
理由があってjQueryを使わないわけではなく
jQueryを使わないことが目的になってる

jQueryがDOMよりも使いやすい命令を提供しているのは事実。
それは昔も今も変わってない。

あとはjQueryを使うか、他のフレームワークを使うか
素のDOM APIだけで頑張るかはトレードオフの問題であって
使う理由がなくなったわけじゃないんだよ。

jQueryからDOM APIの置き換えは簡単なんだから
必要になるまではjQueryを使えばいいだろ
その方が簡単に記述できるんだから

972 :Name_Not_Found:2017/07/30(日) 21:15:41.88 ID:???.net
<!--reactみたいなコメントがずらーっと挿入されてるのはreactなの?

973 :Name_Not_Found:2017/07/30(日) 21:38:29.58 ID:???.net
>>971
文盲?頭が悪いんだろうな
jQueryの利点や使いやすい部分は理解しているが、JavaScriptでそれは普通にできてるしjQueryかますと当たり前だけど素より重くなるから使わないって選択肢なんだが
なんでわざわざ自分にとってデメリットになる方法を使わないといけないんだ
メリットあるとこだけ使えばいいだけで、
DOM操作だって、処理さえ理解していれば結局やってる事は同じだろう
DOM扱うのにjQueryが必須とか考えてるんだったら、それはjQueryに振り回されてるバカだ

974 :Name_Not_Found:2017/07/30(日) 21:40:48.04 ID:???.net
> JavaScriptでそれは普通にできてるし
そりゃjQueryもJavaScriptなんだから
できるできない、可能不可能の話なら可能に決まってるだろw

そんなこと始めっからわかりきってるんだよw

で、お前、jQueryのメリット書けないの?
やっぱり分かってないじゃん。

あぁ、あれだ。お前、歩いていくのも自動車で行くのも
どっちも目的地にたどり着けるから同じだって
考えてるやつだw

975 :Name_Not_Found:2017/07/30(日) 21:59:04.14 ID:???.net
jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
今でも互換性がないDOM操作ってあるの?

976 :Name_Not_Found:2017/07/30(日) 22:16:40.32 ID:???.net
>>975
今でもIE8からEdgeまでがメンテ対象なんですよ。 ふふふ
いっそ殺してくれとも思いますよ、ええ

977 :Name_Not_Found:2017/07/30(日) 22:18:07.97 ID:???.net
> jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
違う。jQueryのメリットはそこじゃない。

だからさ、自分で間違って理解しておいて
その間違った自分の理解が間違ってるって
まるで自分で自分の間違いを指摘するような行為ってなんなの?

978 :Name_Not_Found:2017/07/30(日) 22:18:49.10 ID:???.net
jQueryのメリットは、
脱jQueryの記事みればわかるよ。

jQueryを使わないことで
コードが2〜3倍に膨れ上がってる

979 :Name_Not_Found:2017/07/30(日) 22:38:53.07 ID:???.net
jQueryは簡潔に短いコードを書くことを目的としてるんでしょ
開発者によって面倒だったりポリシーであえてレガシーサポート切ったり様々だけど
ブラウザ間の差を吸収するってのはユーザビリティを過度に考慮した開発者の嗜みみたいなもんだ
つまりクロスプラットフォームなんてのはJavaScriptライブラリ全般に言えるっちゅうこと
んまあいくら簡潔っていってもメソッドチェーン多用しすぎ自由度高すぎで
人様の書いたjQueryのコードはあんま読みたくない

980 :Name_Not_Found:2017/07/30(日) 22:42:38.05 ID:???.net
> メソッドチェーン多用しすぎ
それは疑問がある。

メソッドチェーンができることは正しいがメソッドチェーンを多用することはないだろう?
それはjQueryの使い方を知らないだけではないか?

例えば、メソッドチェーンを使わずに3つのCSSプロパティを適用できる
http://js.studio-kingdom.com/jquery/css/css
$('div').css({
 'background-color' : '#ddd',
 'font-weight' : '',
 'color' : 'rgb(0,40,244)'
});

例えば、メソッドチェーンを使わずに3つのイベントを適用できる
http://js.studio-kingdom.com/jquery/events/on
$("div.test").on({
 click: function(){
  //クリック処理
  $(this).toggleClass("active");
 },
 mouseenter: function(){
  //マウスが要素上に入った時の処理
  $(this).addClass("inside");
 },
 mouseleave: function(){
  //マウスが要素上から離れた時の処理
  $(this).removeClass("inside");
 }
});

981 :Name_Not_Found:2017/07/30(日) 22:45:46.97 ID:???.net
例えばDOM要素を生成する時にメソッドチェーンを使わずに
一気に属性やテキストやイベントを指定できる。

http://api.jquery.com/jquery/#jQuery-html-attributes

$( "<div/>", {
 "class": "test",
 text: "Click me!",
 click: function() {
  $( this ).toggleClass( "test" );
 }
})
.appendTo( "body" );

982 :Name_Not_Found:2017/07/31(月) 00:46:05.57 ID:???.net
気持ち悪いねjqueryのコード

983 :Name_Not_Found:2017/07/31(月) 01:01:10.31 ID:???.net
ソウダネー(馬鹿かこいつ)

984 :Name_Not_Found:2017/07/31(月) 05:41:22.13 ID:???.net
俺も気持ち悪いというか、プログラマ向けではないなと感じるな
classとtext子要素とイベントリスナを同列に扱っているとことか
そこはオプションオブジェクトにattributesやeventListenersと言ったオブジェクトを
生やしてそちらに付与させるのが自然
thisの勝手気ままな使い方も合わせてjQueryはjQueryだから許されてるけど、
設計も使用例も原則真似するのは良くないことだらけ
こりゃjQueryから入っちゃうとJSの学習を阻害するのは間違いないな
その必要のない、JSプログラマにならない人にとっては、とても有益だけどな

985 :Name_Not_Found:2017/07/31(月) 08:58:29.11 ID:???.net
気持ち悪いというかDOM自体がこういう同列の書き方だからそれに倣ってるだけだろ

986 :Name_Not_Found:2017/07/31(月) 09:22:38.52 ID:???.net
jQueryはプログラムしてるというよりは設定してるみたいな感じだからね

987 :Name_Not_Found:2017/07/31(月) 12:19:23.73 ID:???.net
こういう流れになるからライブラリは他所でやれってテンプレに入ってたのに
いつの間にか消えてんな

988 :Name_Not_Found:2017/07/31(月) 12:30:41.50 ID:???.net
>>984
そもそもDOMが一緒くただろうが

989 :Name_Not_Found:2017/07/31(月) 14:48:19.87 ID:1u4TUm01.net
あーなるほど、DOMと一緒じゃんと考えるわけね
でも俺にとっては全然違うのよ
そもそもon〜は使わずaddを使うとかいうのもあるけど、それより先に
属性設定のアレはただのプロパティでなく特別なアクセサだからね?
もっと言えば継承元も違うしんだよ
そしてclassがclassNameのように属性と一対一で名前が対応しているわけでもない

じゃあjQの実装はどうかと言うと、classと指定できるから
汎用的に属性名を受け付けるために内部的にsetAttributeを使ってるのかなと思う。
もしそこまでならむしろ気持ちがいい良いAPIだが、実際は違う
要素のアクセサをそのまま利用しているわけでも無く、setAttributeをそのまま利用しているわけでもない
独自ルールに基いて内部的に特殊な場合分けをして要素に適応させてる

これは全然自然じゃないのよ、途轍もなく人工物の匂いが立ち込めてる
よって気持ちが悪いと言ったの

990 :Name_Not_Found:2017/07/31(月) 15:01:44.51 ID:???.net
これは勿論悪いことばかりだけじゃないんだけどね、
大抵のライブラリって実装が透けて見えると言うか、
ピュアJSやWebAPIとの馴染みがあるように設計するのよ
驚き最小と言うか、大胆な事はあまりしない
でもjQの場合別の言語かってくらい常識感覚が違うのよね
実はAngular並かそれ以上の超俺俺大規模フレームワークなのよ、本当は
それがデファクトのように扱われて、JSの代名詞になって、代名詞がJSとなってる自体はやはり良くないと思う
先の件でもDOMのこと全然理解してない人多そうだしねぇ

991 :Name_Not_Found:2017/07/31(月) 15:40:56.94 ID:???.net
あれだよね、DOMも並列とか、一緒くただとか、
もう完全に見た目でしかコードを見ていないよね
語弊を避けるために強調するがm悪いと言っているのではなく
これがデザイナー的発想なのかもしれない
でもプログラマだと内部構造や実体もかなり意識するからね
そういう違いなのかもしれない

俺は上でポリフィル云々という論を述べたけど
そもそもそういうこと考えてjQを使う人も稀なんだろうね
きっと、まずjQがあって、殆どそこから始まる感じなんだろうね

992 :Name_Not_Found:2017/07/31(月) 17:35:56.16 ID:???.net
>>979
使用量が増えれば増えるだけ実高速度がネイティブより遅くなる
これが正解

993 :Name_Not_Found:2017/07/31(月) 17:38:39.68 ID:???.net
>>962
必要な箇所だけ呼び出せるようにすれば無駄な読み込みがなくなって速いよ

994 :Name_Not_Found:2017/07/31(月) 18:35:14.56 ID:???.net
jqueryはtriggerとonで内部イベント作れる所とか結構好き。

995 :Name_Not_Found:2017/07/31(月) 19:25:35.80 ID:???.net
確かにネイティブが最速でjQueryは遅いになるわな

996 :Name_Not_Found:2017/07/31(月) 19:30:04.18 ID:???.net
クロスブラウザ問題も切り捨て時期に入りversion1の使う理由がなくる。
うちの会社では年内でjQueryをきることが決まったぞ。
遅いし無駄だし何よりもコードが気持ちが悪い

997 :Name_Not_Found:2017/07/31(月) 19:31:27.44 ID:???.net
確かversion2と3合わせても使用率が全体の1割りもないんだよな

998 :Name_Not_Found:2017/07/31(月) 19:32:34.52 ID:???.net
アフィカス必須ツールのjQueryはWordPressの波にのった金魚の糞なんだが・・

999 :Name_Not_Found:2017/07/31(月) 19:34:13.64 ID:???.net
JavaScriptのスレだからスレチになるのかなと次スレはワッチョイ希望です。

1000 :Name_Not_Found:2017/07/31(月) 19:34:53.76 ID:???.net
気持ち悪いコードを書くjQuery原理主義者は淘汰されますようにw

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
297 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★