X



+ JavaScript の質問用スレッド vol.129 + [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2016/02/24(水) 00:48:25.01ID:???
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/
0952Name_Not_Found
垢版 |
2017/07/30(日) 11:05:31.92ID:???
JavaScriptがデフォルトで遅延評価になる日は来ますか?
現状配列をmapしてfilterして…みたいな使い方だとループを2度回すことになり無駄が多いのが不満です
0953Name_Not_Found
垢版 |
2017/07/30(日) 11:36:54.71ID:???
遅延評価って過程を事前にコンパイルしてできるだけ実行時の過程の処理を省略できるから意味がある訳で
スクリプト言語で実行時にそれをやっても良くはならないよ
0954Name_Not_Found
垢版 |
2017/07/30(日) 11:39:07.06ID:???
>>953
そうなんですね
素直にfor文使います
ありがとうございました
0955Name_Not_Found
垢版 |
2017/07/30(日) 12:35:22.41ID:???
>>950
> DOMを直接操作するのと何が違うのかよくわかんない。

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

jQueryを使わないで書く方法を見ればわかる。
どれもjQueryの方が短くなってるからw
0956Name_Not_Found
垢版 |
2017/07/30(日) 13:22:30.54ID:???
抽象化の利点が分からないのはちょっと痛いな
0957Name_Not_Found
垢版 |
2017/07/30(日) 15:41:10.74ID:???
jQuery原理主義者はいるぞ。
否定されるとゴキブリのごとくほいほいわいてくるw
0959Name_Not_Found
垢版 |
2017/07/30(日) 15:49:57.29ID:???
本当にいるのはどちらかよく分かるよねw
0960Name_Not_Found
垢版 |
2017/07/30(日) 17:14:57.10ID:???
jQueryはajaxを簡易に使うためくらいにしか使わないな
素のJavaScriptで全部できるし、jQuery使うと無駄に動作が遅くなる
0961Name_Not_Found
垢版 |
2017/07/30(日) 17:24:17.00ID:???
>>960
だからメリットがわからないんじゃね?
jQueryは3.0でSlim版っていうのができたが
これはAjax部分を取り除いたもの。

jQuey的にはAjaxはおまけ部分でしか無く
それだけしかお前が使っていないというならば
jQueryを分かってない人がjQueryを批判している図式にしかならないよ
0962Name_Not_Found
垢版 |
2017/07/30(日) 17:24:52.61ID:???
Ajaxも素のJavaScriptでできると思いますがねぇ
0963Name_Not_Found
垢版 |
2017/07/30(日) 17:25:01.03ID:???
>>955
コードが短くなるって利点は
typeScript使いの俺にはあんまり響かないなぁ
IDEで補完しまくるからそもそもほとんど打ち込まずに構築できるし。
なら極力使わないでいいかなと。

正直reactと言うよりreduxがしんどくなってきてelmに逃げたくなる自分がいる
仕事があるんかなw
0964Name_Not_Found
垢版 |
2017/07/30(日) 17:28:20.65ID:???
それってTypeScriptを使ってないとだめだよね?
0965Name_Not_Found
垢版 |
2017/07/30(日) 17:29:48.18ID:???
つまりtypeScriptを導入してないひとには
jQueryはメリットがあるってわけだな
0966Name_Not_Found
垢版 |
2017/07/30(日) 17:30:40.08ID:???
やはり抽象化が分かってない予感
0967Name_Not_Found
垢版 |
2017/07/30(日) 17:32:33.58ID:???
なんで抽象化の話が出てくるのかわからない。
関係ないだろ? いや、関係あるというのなら
どういう風に関係あるのかを説明してくれれば良いんだが
0968Name_Not_Found
垢版 |
2017/07/30(日) 18:05:31.39ID:???
>>961
単にajaxだけは素のJavaScriptだとコード量の差が大きいから、その部分だけ簡易にしたいだけで、
他は素のJavaScriptで全然いいやってだけなんだが
jQueryの良さを分かってないというか、別にajaxもjQuery使わずに実装できるし、なくても困らない
なんだフルにjQuery使う実装に固執しないとだめなんだ
0969Name_Not_Found
垢版 |
2017/07/30(日) 18:32:38.11ID:???
jQuery原理主義ってなんだ?
jQuery至上主義ならわかるが
0970Name_Not_Found
垢版 |
2017/07/30(日) 20:08:23.54ID:???
>>969
現代日本語での「原理主義」は
ファンダメンタリズムのことではなくただのレッテル貼りに使われる蔑称なので
特に意味は気にしなくていいんだよ
0971Name_Not_Found
垢版 |
2017/07/30(日) 20:59:31.96ID:???
>>968
> なんだフルにjQuery使う実装に固執しないとだめなんだ
逆だろ? jQueryを使わないことに固執してるだろ?
理由があってjQueryを使わないわけではなく
jQueryを使わないことが目的になってる

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

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

jQueryからDOM APIの置き換えは簡単なんだから
必要になるまではjQueryを使えばいいだろ
その方が簡単に記述できるんだから
0972Name_Not_Found
垢版 |
2017/07/30(日) 21:15:41.88ID:???
<!--reactみたいなコメントがずらーっと挿入されてるのはreactなの?
0973Name_Not_Found
垢版 |
2017/07/30(日) 21:38:29.58ID:???
>>971
文盲?頭が悪いんだろうな
jQueryの利点や使いやすい部分は理解しているが、JavaScriptでそれは普通にできてるしjQueryかますと当たり前だけど素より重くなるから使わないって選択肢なんだが
なんでわざわざ自分にとってデメリットになる方法を使わないといけないんだ
メリットあるとこだけ使えばいいだけで、
DOM操作だって、処理さえ理解していれば結局やってる事は同じだろう
DOM扱うのにjQueryが必須とか考えてるんだったら、それはjQueryに振り回されてるバカだ
0974Name_Not_Found
垢版 |
2017/07/30(日) 21:40:48.04ID:???
> JavaScriptでそれは普通にできてるし
そりゃjQueryもJavaScriptなんだから
できるできない、可能不可能の話なら可能に決まってるだろw

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

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

あぁ、あれだ。お前、歩いていくのも自動車で行くのも
どっちも目的地にたどり着けるから同じだって
考えてるやつだw
0975Name_Not_Found
垢版 |
2017/07/30(日) 21:59:04.14ID:???
jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
今でも互換性がないDOM操作ってあるの?
0976Name_Not_Found
垢版 |
2017/07/30(日) 22:16:40.32ID:???
>>975
今でもIE8からEdgeまでがメンテ対象なんですよ。 ふふふ
いっそ殺してくれとも思いますよ、ええ
0977Name_Not_Found
垢版 |
2017/07/30(日) 22:18:07.97ID:???
> jqueryってもともとブラウザ間の互換性確保のためのものなんでしょ?
違う。jQueryのメリットはそこじゃない。

だからさ、自分で間違って理解しておいて
その間違った自分の理解が間違ってるって
まるで自分で自分の間違いを指摘するような行為ってなんなの?
0978Name_Not_Found
垢版 |
2017/07/30(日) 22:18:49.10ID:???
jQueryのメリットは、
脱jQueryの記事みればわかるよ。

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

メソッドチェーンができることは正しいがメソッドチェーンを多用することはないだろう?
それは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");
 }
});
0981Name_Not_Found
垢版 |
2017/07/30(日) 22:45:46.97ID:???
例えばDOM要素を生成する時にメソッドチェーンを使わずに
一気に属性やテキストやイベントを指定できる。

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

$( "<div/>", {
 "class": "test",
 text: "Click me!",
 click: function() {
  $( this ).toggleClass( "test" );
 }
})
.appendTo( "body" );
0982Name_Not_Found
垢版 |
2017/07/31(月) 00:46:05.57ID:???
気持ち悪いねjqueryのコード
0983Name_Not_Found
垢版 |
2017/07/31(月) 01:01:10.31ID:???
ソウダネー(馬鹿かこいつ)
0984Name_Not_Found
垢版 |
2017/07/31(月) 05:41:22.13ID:???
俺も気持ち悪いというか、プログラマ向けではないなと感じるな
classとtext子要素とイベントリスナを同列に扱っているとことか
そこはオプションオブジェクトにattributesやeventListenersと言ったオブジェクトを
生やしてそちらに付与させるのが自然
thisの勝手気ままな使い方も合わせてjQueryはjQueryだから許されてるけど、
設計も使用例も原則真似するのは良くないことだらけ
こりゃjQueryから入っちゃうとJSの学習を阻害するのは間違いないな
その必要のない、JSプログラマにならない人にとっては、とても有益だけどな
0985Name_Not_Found
垢版 |
2017/07/31(月) 08:58:29.11ID:???
気持ち悪いというかDOM自体がこういう同列の書き方だからそれに倣ってるだけだろ
0986Name_Not_Found
垢版 |
2017/07/31(月) 09:22:38.52ID:???
jQueryはプログラムしてるというよりは設定してるみたいな感じだからね
0987Name_Not_Found
垢版 |
2017/07/31(月) 12:19:23.73ID:???
こういう流れになるからライブラリは他所でやれってテンプレに入ってたのに
いつの間にか消えてんな
0989Name_Not_Found
垢版 |
2017/07/31(月) 14:48:19.87ID:1u4TUm01
あーなるほど、DOMと一緒じゃんと考えるわけね
でも俺にとっては全然違うのよ
そもそもon〜は使わずaddを使うとかいうのもあるけど、それより先に
属性設定のアレはただのプロパティでなく特別なアクセサだからね?
もっと言えば継承元も違うしんだよ
そしてclassがclassNameのように属性と一対一で名前が対応しているわけでもない

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

これは全然自然じゃないのよ、途轍もなく人工物の匂いが立ち込めてる
よって気持ちが悪いと言ったの
0990Name_Not_Found
垢版 |
2017/07/31(月) 15:01:44.51ID:???
これは勿論悪いことばかりだけじゃないんだけどね、
大抵のライブラリって実装が透けて見えると言うか、
ピュアJSやWebAPIとの馴染みがあるように設計するのよ
驚き最小と言うか、大胆な事はあまりしない
でもjQの場合別の言語かってくらい常識感覚が違うのよね
実はAngular並かそれ以上の超俺俺大規模フレームワークなのよ、本当は
それがデファクトのように扱われて、JSの代名詞になって、代名詞がJSとなってる自体はやはり良くないと思う
先の件でもDOMのこと全然理解してない人多そうだしねぇ
0991Name_Not_Found
垢版 |
2017/07/31(月) 15:40:56.94ID:???
あれだよね、DOMも並列とか、一緒くただとか、
もう完全に見た目でしかコードを見ていないよね
語弊を避けるために強調するがm悪いと言っているのではなく
これがデザイナー的発想なのかもしれない
でもプログラマだと内部構造や実体もかなり意識するからね
そういう違いなのかもしれない

俺は上でポリフィル云々という論を述べたけど
そもそもそういうこと考えてjQを使う人も稀なんだろうね
きっと、まずjQがあって、殆どそこから始まる感じなんだろうね
0992Name_Not_Found
垢版 |
2017/07/31(月) 17:35:56.16ID:???
>>979
使用量が増えれば増えるだけ実高速度がネイティブより遅くなる
これが正解
0993Name_Not_Found
垢版 |
2017/07/31(月) 17:38:39.68ID:???
>>962
必要な箇所だけ呼び出せるようにすれば無駄な読み込みがなくなって速いよ
0994Name_Not_Found
垢版 |
2017/07/31(月) 18:35:14.56ID:???
jqueryはtriggerとonで内部イベント作れる所とか結構好き。
0995Name_Not_Found
垢版 |
2017/07/31(月) 19:25:35.80ID:???
確かにネイティブが最速でjQueryは遅いになるわな
0996Name_Not_Found
垢版 |
2017/07/31(月) 19:30:04.18ID:???
クロスブラウザ問題も切り捨て時期に入りversion1の使う理由がなくる。
うちの会社では年内でjQueryをきることが決まったぞ。
遅いし無駄だし何よりもコードが気持ちが悪い
0997Name_Not_Found
垢版 |
2017/07/31(月) 19:31:27.44ID:???
確かversion2と3合わせても使用率が全体の1割りもないんだよな
0998Name_Not_Found
垢版 |
2017/07/31(月) 19:32:34.52ID:???
アフィカス必須ツールのjQueryはWordPressの波にのった金魚の糞なんだが・・
0999Name_Not_Found
垢版 |
2017/07/31(月) 19:34:13.64ID:???
JavaScriptのスレだからスレチになるのかなと次スレはワッチョイ希望です。
1000Name_Not_Found
垢版 |
2017/07/31(月) 19:34:53.76ID:???
気持ち悪いコードを書くjQuery原理主義者は淘汰されますようにw
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 523日 18時間 46分 28秒
10021002
垢版 |
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況