JavaScript を自ら学ぶ人のための質問スレッドです。
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
前スレ
+ JavaScript の質問用スレッド vol.125 +
https://mevius.5ch.net/test/read.cgi/tech/1518940081/
(ライブラリ禁止条項は、多数の意見によって廃止されました。ライブラリの質問もOKです)
探検
+ JavaScript の質問用スレッド vol.126 +
■ このスレッドは過去ログ倉庫に格納されています
2018/06/02(土) 14:31:23.04ID:B1JKBGEy
143デフォルトの名無しさん
2018/10/10(水) 21:16:48.63ID:mFBZKYqD なんだそりゃ
バカバカしい
バカバカしい
144デフォルトの名無しさん
2018/10/10(水) 21:37:01.50ID:Br1ENpxp 認証基盤のセキュリティもボロボロでヤバイらしいな
145デフォルトの名無しさん
2018/10/11(木) 08:56:59.50ID:3Bdkvxy9 >>138
たのしいRuby 第5版、2016
これを読んで半年、オブジェクト指向・関数型で、Ruby をいじくりまわしてから、JavaScript に戻ればよい。
CSS セレクターを使う、jQuery と、Ruby のNokogiri が、ほぼ同じ
Progate のサイトでも、やってみれば?
プロレベルでは以下の2冊だから、数年は掛かる
JavaScript 第6版、2012、David Flanagan
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
たのしいRuby 第5版、2016
これを読んで半年、オブジェクト指向・関数型で、Ruby をいじくりまわしてから、JavaScript に戻ればよい。
CSS セレクターを使う、jQuery と、Ruby のNokogiri が、ほぼ同じ
Progate のサイトでも、やってみれば?
プロレベルでは以下の2冊だから、数年は掛かる
JavaScript 第6版、2012、David Flanagan
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
146デフォルトの名無しさん
2018/10/11(木) 09:40:30.66ID:gME2ocRG Pyキチ君のマッチポンプは本当にしつこいな
147デフォルトの名無しさん
2018/10/11(木) 13:13:36.95ID:bLRRmr2D インタラクティブ・データビジュアライゼーション
――D3.jsによるデータの可視化
原書は第2版が去年出てるみたいです。
日本語版の第2版の出版予定はありませんか?
――D3.jsによるデータの可視化
原書は第2版が去年出てるみたいです。
日本語版の第2版の出版予定はありませんか?
148デフォルトの名無しさん
2018/10/11(木) 14:58:24.35ID:U1kKB/4M >>145
> CSS セレクターを使う、jQuery と、Ruby のNokogiri が、ほぼ同じ
ぜんぜん違う。NokogiriはjQueryに比べたら洗練されていない
通称jQueryオブジェクト呼ばれている、いちばん重要な
オブジェクトがNokogiriには搭載されていない
そのせいでCSSで取得した複数のオブジェクトをeachで繰り返して
操作するというjQuery以前のやり方をしないといけなくなってる。
NokogiriでjQueryを学んだ気になると、jQueryとしては
悪いコードになってしまう。
> CSS セレクターを使う、jQuery と、Ruby のNokogiri が、ほぼ同じ
ぜんぜん違う。NokogiriはjQueryに比べたら洗練されていない
通称jQueryオブジェクト呼ばれている、いちばん重要な
オブジェクトがNokogiriには搭載されていない
そのせいでCSSで取得した複数のオブジェクトをeachで繰り返して
操作するというjQuery以前のやり方をしないといけなくなってる。
NokogiriでjQueryを学んだ気になると、jQueryとしては
悪いコードになってしまう。
149145
2018/10/11(木) 15:19:32.84ID:3Bdkvxy9 そりゃ、jQuery の方が洗練されてる。
Nokogiri では、単数と複数(配列)の戻り値を返す、2つの関数に分かれているから面倒
jQueryでは、単数・複数・該当要素なしでも、統一的に扱えるし、メソッドチェーンできる
Nokogiri では、単数と複数(配列)の戻り値を返す、2つの関数に分かれているから面倒
jQueryでは、単数・複数・該当要素なしでも、統一的に扱えるし、メソッドチェーンできる
150デフォルトの名無しさん
2018/10/11(木) 23:35:01.60ID:mM6EaaqO151デフォルトの名無しさん
2018/10/12(金) 13:03:40.32ID:9N5F64KF JSを理解するとは仕様書のどこを読んでも、うんうんそうだよね、と言える状況のこと
型変換、スコープチェーン、プロトタイプチェーンのようにイメージの積み重ねでの閃きのような物が必要な概念もあるけど
一方共有渡しの原理とかは仕様書を読まないと絶対に納得できない
型変換、スコープチェーン、プロトタイプチェーンのようにイメージの積み重ねでの閃きのような物が必要な概念もあるけど
一方共有渡しの原理とかは仕様書を読まないと絶対に納得できない
152デフォルトの名無しさん
2018/10/12(金) 17:20:44.39ID:vWnsmRfa >>151
お前ん中ではな
お前ん中ではな
153デフォルトの名無しさん
2018/10/12(金) 17:36:26.39ID:fvSpqiCp >>152
お前どこ中よ
お前どこ中よ
154デフォルトの名無しさん
2018/10/13(土) 16:34:13.35ID:SiZRzIIf むしろ自分の中の話でなかったら何なんだ?
お前の中では>>151が世界の代弁者のつもりにでも見えるのか?
お前の中では>>151が世界の代弁者のつもりにでも見えるのか?
155デフォルトの名無しさん
2018/10/16(火) 18:57:47.86ID:gqm4/+eQ すみません、以下のコードが読めません。分解して教えてくださいませんか?
1 function presetDiary(dateStr){};
2 htmlStr += "<a onclick='presetDiary(\"" +dateStr + "\");'>"+cellStr+"</a></td>";
2行目はダブルクォーテーションとシングルクオーテーションが入り乱れていて
何が書かれているかわからなくなってます。
普通にHTMLタグで書くと
<a onclick="presetDiary(dateStr)">cellStr</a></td>
となると考えていいのでしょうか?
1 function presetDiary(dateStr){};
2 htmlStr += "<a onclick='presetDiary(\"" +dateStr + "\");'>"+cellStr+"</a></td>";
2行目はダブルクォーテーションとシングルクオーテーションが入り乱れていて
何が書かれているかわからなくなってます。
普通にHTMLタグで書くと
<a onclick="presetDiary(dateStr)">cellStr</a></td>
となると考えていいのでしょうか?
156デフォルトの名無しさん
2018/10/16(火) 19:35:14.13ID:JHQMnpCL > 2行目はダブルクォーテーションとシングルクオーテーションが入り乱れていて
> 何が書かれているかわからなくなってます。
わかるだろ?
お前が本当に言いたいことは、
どこがどう対応しているのか調べるのが
「面倒です」ってだけだろ
嘘つくなや。そして怠けるな
> 何が書かれているかわからなくなってます。
わかるだろ?
お前が本当に言いたいことは、
どこがどう対応しているのか調べるのが
「面倒です」ってだけだろ
嘘つくなや。そして怠けるな
157デフォルトの名無しさん
2018/10/16(火) 21:44:10.31ID:Fb63Sgww >>155
色が付くエディタ使え
色が付くエディタ使え
158デフォルトの名無しさん
2018/10/17(水) 15:22:11.32ID:RzUo3BE1 1. は単なる関数定義。
入門書を読むか、検索でもすれば?
2.
><a onclick="presetDiary(dateStr)">cellStr</a></td>
こうだろ
<a onclick='presetDiary("dateStr");'>cellStr</a></td>
でも変数、dateStr を、" " で囲むのは、おかしい。
この文は、間違い
入門書を読むか、検索でもすれば?
2.
><a onclick="presetDiary(dateStr)">cellStr</a></td>
こうだろ
<a onclick='presetDiary("dateStr");'>cellStr</a></td>
でも変数、dateStr を、" " で囲むのは、おかしい。
この文は、間違い
159デフォルトの名無しさん
2018/10/17(水) 16:35:37.59ID:e5Vejsh/ onclickとイベントリスナーclickの違いって何があるんでしょうか?
160デフォルトの名無しさん
2018/10/17(水) 16:40:16.32ID:t+3zMNmx onclickの方が古く、問題があるので
解決策として出てきたのがイベントリスナー
解決策として出てきたのがイベントリスナー
161デフォルトの名無しさん
2018/10/17(水) 16:46:48.92ID:RzUo3BE1 HTML 内に書くと、グローバル関数になってしまうから、良くない
また、addEventListener() は、ブラウザによっては使えないから、
jQuery を使う方が、互換性が高い
web 関連の質問は、web制作管理板へ書き込んでください。
そこの方が、知っている人が多い
また、addEventListener() は、ブラウザによっては使えないから、
jQuery を使う方が、互換性が高い
web 関連の質問は、web制作管理板へ書き込んでください。
そこの方が、知っている人が多い
162デフォルトの名無しさん
2018/10/17(水) 17:34:22.61ID:e5Vejsh/163デフォルトの名無しさん
2018/10/17(水) 20:22:09.27ID:jwV5Qww9164デフォルトの名無しさん
2018/10/21(日) 12:16:46.62ID:LRWHxwNR WEB広告の内容ってJavaScriptで取得できますか?
他社サービスの広告を埋め込み配置して表示させる(hiddenでもかまわない)
JavaScriptで広告の内容を取得してユーザーIDと合わせてサーバーに送信して保存する
保存したデータから個々のユーザーが興味を持っている事がわかるのでマーケティングに利用する
ということができるのではないかと考えています
他社サービスの広告を埋め込み配置して表示させる(hiddenでもかまわない)
JavaScriptで広告の内容を取得してユーザーIDと合わせてサーバーに送信して保存する
保存したデータから個々のユーザーが興味を持っている事がわかるのでマーケティングに利用する
ということができるのではないかと考えています
165デフォルトの名無しさん
2018/10/21(日) 17:52:02.24ID:dQhyPQp/ >>164
不可能。そういう悪用ができないようになってる
不可能。そういう悪用ができないようになってる
166デフォルトの名無しさん
2018/10/22(月) 02:12:50.84ID:Lpu88jHm >>164
スクレイピング?
スクレイピング?
167デフォルトの名無しさん
2018/10/24(水) 11:22:21.43ID:xs2ZRvHz キャンバス上に描く図形の色を変数から指定したいのですが変数名を入れる時にただの文字列と区別させて認識させるにはどうしたらいいでしょうか?
var str=フォーム.色.value;
con.fillStyle = 'str';
としているのですがどうしても黒のままなのです
var str=フォーム.色.value;
con.fillStyle = 'str';
としているのですがどうしても黒のままなのです
168デフォルトの名無しさん
2018/10/24(水) 18:34:08.20ID:E7uk8Rlh ただの文字列でいいんだよ
169デフォルトの名無しさん
2018/10/26(金) 00:09:36.43ID:PFgc5eHH ダウンロードにプログレスつけるのって簡単にできる?
手元にとどいてるファイルのサイズってJSでみれる?
手元にとどいてるファイルのサイズってJSでみれる?
170デフォルトの名無しさん
2018/10/26(金) 07:42:18.47ID:/Mzux3k9 >>169
XHRやFetchなら
XHRやFetchなら
171デフォルトの名無しさん
2018/10/26(金) 09:22:51.60ID:PFgc5eHH Fetchって使ったことないので調べてみます
ありがとうございます
ありがとうございます
172デフォルトの名無しさん
2018/10/27(土) 12:43:23.69ID:y64ULql5 >>164
できる、getUserMediaでスクリーンをキャプチャできる
できる、getUserMediaでスクリーンをキャプチャできる
173デフォルトの名無しさん
2018/10/27(土) 13:05:40.33ID:4RrrP6U6174デフォルトの名無しさん
2018/10/27(土) 13:27:35.65ID:8fc2vBvs >>172-173
> カメラやスクリーンシェアリング、マイクのようなビデオやオーディオ入力装置の使用許可をユーザーに要求します。
> スクリーンシェアリング
> https://developer.mozilla.org/ja/docs/Web/API/MediaDevices/getUserMedia
そのための機能なのだから、出来るのだろうね
> カメラやスクリーンシェアリング、マイクのようなビデオやオーディオ入力装置の使用許可をユーザーに要求します。
> スクリーンシェアリング
> https://developer.mozilla.org/ja/docs/Web/API/MediaDevices/getUserMedia
そのための機能なのだから、出来るのだろうね
175デフォルトの名無しさん
2018/10/27(土) 13:43:11.21ID:4RrrP6U6 > 使用許可をユーザーに要求します。
だめじゃんw
WEB広告表示されたら、画面をキャプチャして送信していいか?って聞くんだろ?
だめじゃんw
WEB広告表示されたら、画面をキャプチャして送信していいか?って聞くんだろ?
176デフォルトの名無しさん
2018/10/27(土) 13:57:01.80ID:8fc2vBvs >>175
ユーザ許可が要るのは当たり前だろ
ユーザ許可が要るのは当たり前だろ
177デフォルトの名無しさん
2018/10/27(土) 18:29:12.79ID:io741/EL これでなんで入替えできるの?
b = [a, a = b][0];
b = [a, a = b][0];
178デフォルトの名無しさん
2018/10/27(土) 18:41:50.38ID:8fc2vBvs >>177
それを分からない奴が、そんな書き方のプログラムを読む意味はない
それを分からない奴が、そんな書き方のプログラムを読む意味はない
179デフォルトの名無しさん
2018/10/27(土) 18:56:44.50ID:QlllhdpS 訳:「わからないので説明できない。俺が分からないのだからお前もわかる必要はない」
180デフォルトの名無しさん
2018/10/27(土) 19:10:24.25ID:8fc2vBvs181デフォルトの名無しさん
2018/10/27(土) 19:20:24.19ID:8fc2vBvs >>179
つーか、ググったらヒットしたわ。ちょっと違うけど。
> a = [b][b = a,0];
> https://stackoverflow.com/questions/9864420/how-does-bb-a-0-swap-between-a-and-b
後ろ側は配列として解釈されないのか?という心配はあるが。
サイトのコード読んでいるのなら、minifyするときにそうなった可能性がある。
(良いやり方だとも思わないし、具体的に何を使えばそうなるのかも知らんが)
手でそんなのを書く奴は居ないので、
もし君がそこに引っかかっている(=文法も十分に分からない初心者)なら、今は別のコードを読むべきだ。
つーか、ググったらヒットしたわ。ちょっと違うけど。
> a = [b][b = a,0];
> https://stackoverflow.com/questions/9864420/how-does-bb-a-0-swap-between-a-and-b
後ろ側は配列として解釈されないのか?という心配はあるが。
サイトのコード読んでいるのなら、minifyするときにそうなった可能性がある。
(良いやり方だとも思わないし、具体的に何を使えばそうなるのかも知らんが)
手でそんなのを書く奴は居ないので、
もし君がそこに引っかかっている(=文法も十分に分からない初心者)なら、今は別のコードを読むべきだ。
182デフォルトの名無しさん
2018/10/27(土) 19:53:15.55ID:61pv23m7 a = 1, b = 2のとき
b = [ a, a = b ][ 0 ]
b = [ 1, a = b ][ 0 ]
b = [ 1, a = 2 ][ 0 ]
a = 2; b = [ 1, 2 ][ 0 ]
a = 2; b = 1
b = [ a ][ a = b, 0 ]
b = [ 1 ][ a = b, 0 ]
b = [ 1 ][ a = 2, 0 ]
a = 2; b = [ 1 ][ 2, 0 ] //カンマ演算子
a = 2; b = [ 1 ][ 0 ]
a = 2; b = 1
段階は全然多くない、このくらいなら手で書かれることは十分にある
このくらいは理解できないとJS中級者にはなれない
ただ超基本的な処理の順番や構文を知っていてそれを慎重に追っていけるかの問題
因みに同じことをするのは今どきはこうする
[ a, b ] = [ b, a ]
b = [ a, a = b ][ 0 ]
b = [ 1, a = b ][ 0 ]
b = [ 1, a = 2 ][ 0 ]
a = 2; b = [ 1, 2 ][ 0 ]
a = 2; b = 1
b = [ a ][ a = b, 0 ]
b = [ 1 ][ a = b, 0 ]
b = [ 1 ][ a = 2, 0 ]
a = 2; b = [ 1 ][ 2, 0 ] //カンマ演算子
a = 2; b = [ 1 ][ 0 ]
a = 2; b = 1
段階は全然多くない、このくらいなら手で書かれることは十分にある
このくらいは理解できないとJS中級者にはなれない
ただ超基本的な処理の順番や構文を知っていてそれを慎重に追っていけるかの問題
因みに同じことをするのは今どきはこうする
[ a, b ] = [ b, a ]
183デフォルトの名無しさん
2018/10/27(土) 19:56:42.96ID:8fc2vBvs184デフォルトの名無しさん
2018/10/27(土) 20:00:32.27ID:io741/EL185デフォルトの名無しさん
2018/10/27(土) 20:22:17.29ID:61pv23m7 >>183
このくらいの複雑度
つまり五段回くらいの評価が一行に書かれることって
アロー関数とかが入った今ますます書かれるようになってると俺は思うが
特にreduceとか使うとこの例と似た状況にもなりがち
このくらいの複雑度
つまり五段回くらいの評価が一行に書かれることって
アロー関数とかが入った今ますます書かれるようになってると俺は思うが
特にreduceとか使うとこの例と似た状況にもなりがち
186デフォルトの名無しさん
2018/10/27(土) 20:34:06.02ID:E6wydZtk コード圧縮とか難読化は人間がやる作業じゃなかろう
187デフォルトの名無しさん
2018/10/27(土) 20:52:55.30ID:8fc2vBvs >>185
俺の意見は、「変数の入れ替えをその書き方でする奴は居ない」だが、これで理解出来るか?
その程度の「複雑度」なら、大したことはないし、普通の人なら頭の中で読めるでしょ。
> reduce
reduceってのは数値演算をするときに多用するのであって、
通常のJavaScript(=DOM操作等)ではほぼ使わない。
そもそも変数の入れ替えも『初心者用の教材の』ソート等では使うが、実用では皆無でしょ。
お前、前から居るズレてる奴で、相変わらずズレてるよな。
俺の意見は、「変数の入れ替えをその書き方でする奴は居ない」だが、これで理解出来るか?
その程度の「複雑度」なら、大したことはないし、普通の人なら頭の中で読めるでしょ。
> reduce
reduceってのは数値演算をするときに多用するのであって、
通常のJavaScript(=DOM操作等)ではほぼ使わない。
そもそも変数の入れ替えも『初心者用の教材の』ソート等では使うが、実用では皆無でしょ。
お前、前から居るズレてる奴で、相変わらずズレてるよな。
188デフォルトの名無しさん
2018/10/27(土) 20:59:52.02ID:8fc2vBvs189デフォルトの名無しさん
2018/10/27(土) 21:00:16.78ID:4RrrP6U6 おい複雑度っていうのを俺俺で使うんじゃない。
コードメトリクス用語の「複雑度」とごっちゃになって紛らわしい
>>177のようなものは「複雑度」はあがらない。
上から下に単純に読み下せばいいからだ
こういうのは単に知らない命令があったってだけで複雑なのではない
「複雑度」というのは、コード自体は読めるが絡まっていて読みづらいということを指す。
具体的にはループ、条件分岐が増えることで「複雑度」が増えていく
コードメトリクス用語の「複雑度」とごっちゃになって紛らわしい
>>177のようなものは「複雑度」はあがらない。
上から下に単純に読み下せばいいからだ
こういうのは単に知らない命令があったってだけで複雑なのではない
「複雑度」というのは、コード自体は読めるが絡まっていて読みづらいということを指す。
具体的にはループ、条件分岐が増えることで「複雑度」が増えていく
190デフォルトの名無しさん
2018/10/27(土) 21:02:12.37ID:4RrrP6U6 ちなみにコードが複雑というのは、コードの問題だが、
コードが読めないっていうのは、人間側の問題だからな
人間側の問題なのに「これ複雑っすよー」っていうやつが多い
(単にそいつが読めないだけ)
コードが読めないっていうのは、人間側の問題だからな
人間側の問題なのに「これ複雑っすよー」っていうやつが多い
(単にそいつが読めないだけ)
191デフォルトの名無しさん
2018/10/27(土) 21:08:11.95ID:61pv23m7 reduceは数値演算で多様?
[1,2,3,4,5].reduce((o,n)=>{o[`n${n}`]=n;return o},{})
みたいに第二引数にオブジェクト渡して繰り返し操作したりもよくあることだと思うけど
君が全然JSを知らない・知ろうとしない。使って来てない・使おうとしないから
本当に解説書の一番上に乗っている形でしか構文やAPIの使い方を思い浮かばないのは勝手だけど
人のことをズレてるとか言うもんじゃないよ。ただ単に君の応用力が矮小なだけだからね
[1,2,3,4,5].reduce((o,n)=>{o[`n${n}`]=n;return o},{})
みたいに第二引数にオブジェクト渡して繰り返し操作したりもよくあることだと思うけど
君が全然JSを知らない・知ろうとしない。使って来てない・使おうとしないから
本当に解説書の一番上に乗っている形でしか構文やAPIの使い方を思い浮かばないのは勝手だけど
人のことをズレてるとか言うもんじゃないよ。ただ単に君の応用力が矮小なだけだからね
192デフォルトの名無しさん
2018/10/27(土) 21:17:42.56ID:8fc2vBvs >>189
言いたいことは分かるが、
var tmp=a;a=b;b=tmp;
と比べたら複雑なのは事実だろ。
ただし、これにより「コードが読めなくなる」事はあり得ないので、
『大規模コードの長期的メンテナンス』を前提とした
コードメトリクス用語の「複雑度」なら全く上がらないのも事実だ。
ただ、JavaScripterの話を聞いている限り、
こいつらは「どういうコードが読めなくなるか」については知らないし、
それで何とかなる世界なのだと思う。
これ自体は俺はありだと思っているし、このやり方は他言語の連中も学ぶべきだと思う。
つまり、四角四面で「絶対にメンテナンスしきる」のではなく、
ある程度の集積度や規模に留め、コードをある程度使い捨てにしていく、という方法だ。
長期メンテナンス前提で書くと色々面倒だったりするだろ。そのコストが省ける。
言いたいことは分かるが、
var tmp=a;a=b;b=tmp;
と比べたら複雑なのは事実だろ。
ただし、これにより「コードが読めなくなる」事はあり得ないので、
『大規模コードの長期的メンテナンス』を前提とした
コードメトリクス用語の「複雑度」なら全く上がらないのも事実だ。
ただ、JavaScripterの話を聞いている限り、
こいつらは「どういうコードが読めなくなるか」については知らないし、
それで何とかなる世界なのだと思う。
これ自体は俺はありだと思っているし、このやり方は他言語の連中も学ぶべきだと思う。
つまり、四角四面で「絶対にメンテナンスしきる」のではなく、
ある程度の集積度や規模に留め、コードをある程度使い捨てにしていく、という方法だ。
長期メンテナンス前提で書くと色々面倒だったりするだろ。そのコストが省ける。
193デフォルトの名無しさん
2018/10/27(土) 21:26:22.84ID:61pv23m7 「コードをある程度使い捨てにしていく」っていうのはまた面白い話だけど
あの十数文字のコードがそんなに大げさな話に繋がるものかぁ?
どちらにせよ自分としてはちょっと話が違う気がする
コードを捨ててもいいから適当にああいう書き方をするっていうことになるならね
やっぱり幾らかテクニカルなコードっていうのは「どうにでもなれ!」って感じよりはむしろ
書いた本人は効率的で読みやすいと思ってる場合が多いのだろうから
もし読めない人がチームメンバーにいるのならそう書くべきじゃないだろうよ
だって「スマート」という目的が果たされてないのだから
ただ自分が言ってるのは、だからといって一般的に読めないままでいいということではないということ
あの程度は普通に読めるようになっとこうよ、中級者くらいを名乗るなら、と言いたいだけ
あの十数文字のコードがそんなに大げさな話に繋がるものかぁ?
どちらにせよ自分としてはちょっと話が違う気がする
コードを捨ててもいいから適当にああいう書き方をするっていうことになるならね
やっぱり幾らかテクニカルなコードっていうのは「どうにでもなれ!」って感じよりはむしろ
書いた本人は効率的で読みやすいと思ってる場合が多いのだろうから
もし読めない人がチームメンバーにいるのならそう書くべきじゃないだろうよ
だって「スマート」という目的が果たされてないのだから
ただ自分が言ってるのは、だからといって一般的に読めないままでいいということではないということ
あの程度は普通に読めるようになっとこうよ、中級者くらいを名乗るなら、と言いたいだけ
194デフォルトの名無しさん
2018/10/27(土) 21:30:15.09ID:8fc2vBvs195デフォルトの名無しさん
2018/10/27(土) 21:33:21.44ID:8fc2vBvs >>193
前提が全然違う。
あの程度は普通に読めるのは、当たり前なんだ。
そして、あの手の「1行の範囲にとどまる複雑さ」なんて、長期的には全く問題にならない、といってるんだよ。
まあ君には通じないとも思うけど。
前提が全然違う。
あの程度は普通に読めるのは、当たり前なんだ。
そして、あの手の「1行の範囲にとどまる複雑さ」なんて、長期的には全く問題にならない、といってるんだよ。
まあ君には通じないとも思うけど。
196デフォルトの名無しさん
2018/10/27(土) 21:38:46.33ID:QlllhdpS reduceは汎用だよ。誰が数値計算にしか使っちゃいけないって言ったんだろw
サイトからダウンロードURLリスト作ってファイルダウンロードするとき一度に多ストリーム開くと問題なときreduceの中でfetchのプロミスをthenで繋げるようにして一時に1ダウンロードしか走らないように制限したり、
i(h(g(f(e(d(c(b(a(データ。数値に限らないぞ?)))))))))みたいに無数の関数を次々適用したいとき
let fns = [a,b,c,d,e,f,g,h,i]
fns.reduce(((acc,fn) => fn(acc)), データ。数値に限らない)
ってやったり…
宗教で数値計算にしか使わないのは勝手だが布教はよそでしろよな。
てかID:8fc2vBvs程度が低すぎるわ。質問に答えるでもなく程度が低いのに突っかかってばかり。糖質かな?
死ねばいいのに。
サイトからダウンロードURLリスト作ってファイルダウンロードするとき一度に多ストリーム開くと問題なときreduceの中でfetchのプロミスをthenで繋げるようにして一時に1ダウンロードしか走らないように制限したり、
i(h(g(f(e(d(c(b(a(データ。数値に限らないぞ?)))))))))みたいに無数の関数を次々適用したいとき
let fns = [a,b,c,d,e,f,g,h,i]
fns.reduce(((acc,fn) => fn(acc)), データ。数値に限らない)
ってやったり…
宗教で数値計算にしか使わないのは勝手だが布教はよそでしろよな。
てかID:8fc2vBvs程度が低すぎるわ。質問に答えるでもなく程度が低いのに突っかかってばかり。糖質かな?
死ねばいいのに。
197デフォルトの名無しさん
2018/10/27(土) 21:50:21.09ID:8fc2vBvs >>193
あと、多分、中級者の基準がおかしい。
君のはJavaScript『文法』の中級者なんだよ。
JavaScriptはプログラミング言語であり、プログラミング言語は実装の道具だ。
だから、本来の『JavaScript中級者』ってのは、何を実装出来るかで測られるべきなんだよ。
俺の定義なら、以下だね。
・初級者:一通りも出来ない。
・中級者:一通りやりたいことは出来る。
つまり、「ポップアップを作りたい」「ここをクリックしたらこう動かしたい」等、
やりたいことがあれば、とりあえず動く物は作れる。
・上級者:最初から最適な構造を考えて実装出来る。
勿論、新文法が便利なら使えばいいのだけど、最適な構造かどうかと新文法はほぼ関係ない。
(むしろ本質的に必要な物は先に取り入れられるから、新文法は基本的にオマケでしかないし)
それよりも、コード構造の方が何倍も重要なんだよ。
あと、多分、中級者の基準がおかしい。
君のはJavaScript『文法』の中級者なんだよ。
JavaScriptはプログラミング言語であり、プログラミング言語は実装の道具だ。
だから、本来の『JavaScript中級者』ってのは、何を実装出来るかで測られるべきなんだよ。
俺の定義なら、以下だね。
・初級者:一通りも出来ない。
・中級者:一通りやりたいことは出来る。
つまり、「ポップアップを作りたい」「ここをクリックしたらこう動かしたい」等、
やりたいことがあれば、とりあえず動く物は作れる。
・上級者:最初から最適な構造を考えて実装出来る。
勿論、新文法が便利なら使えばいいのだけど、最適な構造かどうかと新文法はほぼ関係ない。
(むしろ本質的に必要な物は先に取り入れられるから、新文法は基本的にオマケでしかないし)
それよりも、コード構造の方が何倍も重要なんだよ。
198デフォルトの名無しさん
2018/10/27(土) 21:55:57.05ID:8fc2vBvs >>196
> reduceの中でfetchのプロミスをthenで繋げるようにして一時に1ダウンロードしか走らないように制限したり、
> 無数の関数を次々適用したいとき
やるのは自由だが、それ、普通に配列をforで回しても実装出来るだろ。
新文法を使う=上級者、というのは完全に間違いだって事だよ。
君らは文法にしか目が行かないからそういうことしか言えない。
それは初心者にありがちなパターンでもあるけど。
(初心者は文法から入るしかないから、どうしてもそこに目が行く)
> reduceの中でfetchのプロミスをthenで繋げるようにして一時に1ダウンロードしか走らないように制限したり、
> 無数の関数を次々適用したいとき
やるのは自由だが、それ、普通に配列をforで回しても実装出来るだろ。
新文法を使う=上級者、というのは完全に間違いだって事だよ。
君らは文法にしか目が行かないからそういうことしか言えない。
それは初心者にありがちなパターンでもあるけど。
(初心者は文法から入るしかないから、どうしてもそこに目が行く)
199デフォルトの名無しさん
2018/10/27(土) 21:56:14.73ID:61pv23m7 >>194
「思っているのだろうけど」とか止めてくれない?
自分はこういう構文が良いものだとも、ああ書くべきだとも言っていないよね?
こういう使い方もできる、こうも書かれることもある
そのくらい思いついて、すんなり読めるようになろうと言ってるだけ
無理に使う?君が無理かどうかなんて知ったことじゃない
>>195
長期的って言うのがそういう期間を指しているのか知らんけど
デバッグも完璧に終わってリリースしてしばらくたった後、大型アップデート時に
ってことならまだ分かるけど、今どきは毎日小変更デプロイでしょ
そういう体制だと将来的に困ったら丸ごとすげ替えればいいっていうのは通用しない
複雑なものを放置しとくと、実際困ること必至
それがJSerの考え方の面白い特徴だとか、古すぎぃ
「思っているのだろうけど」とか止めてくれない?
自分はこういう構文が良いものだとも、ああ書くべきだとも言っていないよね?
こういう使い方もできる、こうも書かれることもある
そのくらい思いついて、すんなり読めるようになろうと言ってるだけ
無理に使う?君が無理かどうかなんて知ったことじゃない
>>195
長期的って言うのがそういう期間を指しているのか知らんけど
デバッグも完璧に終わってリリースしてしばらくたった後、大型アップデート時に
ってことならまだ分かるけど、今どきは毎日小変更デプロイでしょ
そういう体制だと将来的に困ったら丸ごとすげ替えればいいっていうのは通用しない
複雑なものを放置しとくと、実際困ること必至
それがJSerの考え方の面白い特徴だとか、古すぎぃ
200デフォルトの名無しさん
2018/10/27(土) 22:03:11.76ID:QlllhdpS >>198
それ、reduceでできるよね。わざわざforを使って本質的でない一時変数をいじくりたい理由とは?w
reduceなんて何年も前から使える。es2015ですらない。
文法にしか目に行ってないのは君自身のことだね。悪いけど一緒にしないでもらえる?
君はどこまでも自分本意な考えで、自分の知らない文法=新文法、自分の知らない文法を他人が使うのがとにかく気に入らない、これに尽きる。これに後付けで理屈をくっつけているだけ。
それ、reduceでできるよね。わざわざforを使って本質的でない一時変数をいじくりたい理由とは?w
reduceなんて何年も前から使える。es2015ですらない。
文法にしか目に行ってないのは君自身のことだね。悪いけど一緒にしないでもらえる?
君はどこまでも自分本意な考えで、自分の知らない文法=新文法、自分の知らない文法を他人が使うのがとにかく気に入らない、これに尽きる。これに後付けで理屈をくっつけているだけ。
201デフォルトの名無しさん
2018/10/27(土) 22:06:02.65ID:8fc2vBvs >>199
> こういう使い方もできる、こうも書かれることもある
この必要がないんだよ。むしろ、してはいけない。
それが分からないのは君が『長期的』メンテナンスしたことがないからだね。
> 長期的って言うのがそういう期間を指しているのか知らんけど
CやJavaの世界では20〜30年以上だね。
そして「コードメトリクス」はそれを前提としてるから、JavaScriptにそれを適用するのも無理がある。
> こういう使い方もできる、こうも書かれることもある
この必要がないんだよ。むしろ、してはいけない。
それが分からないのは君が『長期的』メンテナンスしたことがないからだね。
> 長期的って言うのがそういう期間を指しているのか知らんけど
CやJavaの世界では20〜30年以上だね。
そして「コードメトリクス」はそれを前提としてるから、JavaScriptにそれを適用するのも無理がある。
202デフォルトの名無しさん
2018/10/27(土) 22:11:25.90ID:61pv23m7 >>197
君は本当によくわかってる。正に君の言う通り。
自分はJavaScriptを道具だとは思っていない。
もちろん君の定義も分かる
でも曖昧で幅広すぎるでしょ?
ここはWeb制作板じゃないというのもあるし
なんだかんだ言ってもやっぱり今回は文法の問題だったので
文法レベルで言わせてもらった
ってわけでもない
自分が中級者と言って想定したのは「右も左も分からない段階を抜けてそこそこ使えてきた段階」
つまり、とにかく基準は何にせよ俺は初級者は抜けられたぞ!って思ってるような人に
そこで満足してほしくないからちょっと意地悪で大げさに発破かけただけ
皆どちらかと言うと君の基準だろうから、そこはわかった上であえて文法面をぶつけてみただけ
すまんね、自分バランス取るのが好きなひねくれ者だから
君は本当によくわかってる。正に君の言う通り。
自分はJavaScriptを道具だとは思っていない。
もちろん君の定義も分かる
でも曖昧で幅広すぎるでしょ?
ここはWeb制作板じゃないというのもあるし
なんだかんだ言ってもやっぱり今回は文法の問題だったので
文法レベルで言わせてもらった
ってわけでもない
自分が中級者と言って想定したのは「右も左も分からない段階を抜けてそこそこ使えてきた段階」
つまり、とにかく基準は何にせよ俺は初級者は抜けられたぞ!って思ってるような人に
そこで満足してほしくないからちょっと意地悪で大げさに発破かけただけ
皆どちらかと言うと君の基準だろうから、そこはわかった上であえて文法面をぶつけてみただけ
すまんね、自分バランス取るのが好きなひねくれ者だから
203デフォルトの名無しさん
2018/10/27(土) 22:12:49.28ID:8fc2vBvs >>200
> 本質的でない一時変数をいじくりたい理由とは?w
ああ、そっちの宗教の人か。
まあ、流儀があってやっているのならいい。
それで君にとって「読みやすくなる」のならそれもありだ。
ただ、reduceを知らないってことは無いし、それで読みやすくなるって事もないけどね。
関数型()の奴は1行にこだわるが、
関数間のいわゆるコードメトリクス上の「複雑さ」には無頓着なんだよ。君もね。
まあいいけど。
> 本質的でない一時変数をいじくりたい理由とは?w
ああ、そっちの宗教の人か。
まあ、流儀があってやっているのならいい。
それで君にとって「読みやすくなる」のならそれもありだ。
ただ、reduceを知らないってことは無いし、それで読みやすくなるって事もないけどね。
関数型()の奴は1行にこだわるが、
関数間のいわゆるコードメトリクス上の「複雑さ」には無頓着なんだよ。君もね。
まあいいけど。
204デフォルトの名無しさん
2018/10/27(土) 22:14:46.14ID:61pv23m7 すまんな
自分、盛り上げるのは好きだけど盛り上がってくるとどうでも良くなるんだ
もう寝るね
自分、盛り上げるのは好きだけど盛り上がってくるとどうでも良くなるんだ
もう寝るね
205デフォルトの名無しさん
2018/10/27(土) 22:35:14.88ID:j3pB/rFq206デフォルトの名無しさん
2018/10/27(土) 23:01:58.85ID:8fc2vBvs >>205
そう思うのは自由だが、実際に関数型()の連中はかなり宗教だぞ。
そして関数型()が成果を出せなかったのも事実だろ。
俺はforにこだわっているのではなく、単に見た目そのままの書き方にするだけ。
つまり、これまでの話なら、以下だね。
> var tmp=a;a=b;b=tmp;
> var o = {n1: 1, n2: 2, n3: 3, n4: 4, n5: 5};
当然、ループ回したいだけならforで回す。
無理にreduce使う意味はないんだよ。reduce使ってる俺カッケーがしたいだけ。
それもしたければすればいいのだけど、問題は、
オブジェクト指向的には「1ヶ所に集める」ことが必要なのだが、連中は、それを理解しておらず、
「1行で書ける!」と言ってそれをコード全体に散りばめてしまうこと。
それは仮に1行で書けたとしても関数として切り出さないと不味いんだよ。
(だからそれが仮に一時変数を使って3-5行必要だとしても、関係なくなる)
「長くなるから関数に切り出す」で、短いのだからそこに書いてしまえ、になってしまっている。
これは明確な間違いだ。
ここら辺は長期的メンテナンスをすれば分かるはずなのだが、
話が通じないところを見ると、彼等にはその経験がないんだよ。君もね。
まあいい、とにかく何でもいいから長期的にメンテナンスしてみろ。色々分かるから。
reduceはそもそも筋が悪いんだ。
配列を縮退させるメソッドなのだが、そもそも縮退させるような物は最初から配列にしない。
だから一時配列で便利に初期化、みたいな例ばかりな訳でさ。
なんであんな糞使えないメソッドが導入されたのかが俺には謎だ。
そう思うのは自由だが、実際に関数型()の連中はかなり宗教だぞ。
そして関数型()が成果を出せなかったのも事実だろ。
俺はforにこだわっているのではなく、単に見た目そのままの書き方にするだけ。
つまり、これまでの話なら、以下だね。
> var tmp=a;a=b;b=tmp;
> var o = {n1: 1, n2: 2, n3: 3, n4: 4, n5: 5};
当然、ループ回したいだけならforで回す。
無理にreduce使う意味はないんだよ。reduce使ってる俺カッケーがしたいだけ。
それもしたければすればいいのだけど、問題は、
オブジェクト指向的には「1ヶ所に集める」ことが必要なのだが、連中は、それを理解しておらず、
「1行で書ける!」と言ってそれをコード全体に散りばめてしまうこと。
それは仮に1行で書けたとしても関数として切り出さないと不味いんだよ。
(だからそれが仮に一時変数を使って3-5行必要だとしても、関係なくなる)
「長くなるから関数に切り出す」で、短いのだからそこに書いてしまえ、になってしまっている。
これは明確な間違いだ。
ここら辺は長期的メンテナンスをすれば分かるはずなのだが、
話が通じないところを見ると、彼等にはその経験がないんだよ。君もね。
まあいい、とにかく何でもいいから長期的にメンテナンスしてみろ。色々分かるから。
reduceはそもそも筋が悪いんだ。
配列を縮退させるメソッドなのだが、そもそも縮退させるような物は最初から配列にしない。
だから一時配列で便利に初期化、みたいな例ばかりな訳でさ。
なんであんな糞使えないメソッドが導入されたのかが俺には謎だ。
207デフォルトの名無しさん
2018/10/28(日) 00:03:50.77ID:iGBoWmbY >>206
やっぱ藁人形w
誰も一行で書けるからreduceがいいなどとは言ってない。
ましてや関数型至上主義者ならなおさらそのようなことは言わないだろう。
> なんであんな糞使えないメソッドが導入されたのかが俺には謎だ。
つまり、「俺に分からないreduceなんてみんなも使うべきじゃないんだ!」
ガキか。
やっぱ藁人形w
誰も一行で書けるからreduceがいいなどとは言ってない。
ましてや関数型至上主義者ならなおさらそのようなことは言わないだろう。
> なんであんな糞使えないメソッドが導入されたのかが俺には謎だ。
つまり、「俺に分からないreduceなんてみんなも使うべきじゃないんだ!」
ガキか。
208デフォルトの名無しさん
2018/10/28(日) 00:56:43.71ID:0+vzkOx8209デフォルトの名無しさん
2018/10/28(日) 01:27:41.86ID:iGBoWmbY 図星突いてなんかすまんなw
210デフォルトの名無しさん
2018/10/28(日) 01:42:20.06ID:0+vzkOx8211デフォルトの名無しさん
2018/10/28(日) 02:58:24.46ID:86INTnoC > 君にとって reduce が難しいからそう思えるのだろうけど、
自己紹介乙w
> reduceが分からない奴なんて居ない。使いどころがないだけだ。
はいはい。じゃ更新しといてやるよ。
「ボクが使いどころが分からないreduceなんて、みんなも使うべきじゃないんだ!」
ガキか。
使いどころで使ってんだよ。テメーが分からないからって強制してくんじゃねーぞクズ。
自己紹介乙w
> reduceが分からない奴なんて居ない。使いどころがないだけだ。
はいはい。じゃ更新しといてやるよ。
「ボクが使いどころが分からないreduceなんて、みんなも使うべきじゃないんだ!」
ガキか。
使いどころで使ってんだよ。テメーが分からないからって強制してくんじゃねーぞクズ。
212デフォルトの名無しさん
2018/10/28(日) 03:25:23.25ID:PnJQ4LJT213デフォルトの名無しさん
2018/10/28(日) 08:10:05.59ID:0+vzkOx8 >>211
だから、何度も言っているが、
× 使いどころが分からない
○ 使いどころがない
なんだよ。
結局、>>196も、『一時的に』配列として持たせてreduceしただけだろ。
最初からいきなり縮退させれば済むだけの話。
reduceは『配列として意味がある』(≒配列として『持つしかない』)物を縮退させるメソッドであって、
そもそもそのケースがJavaScriptの用途においてはほぼ無いんだよ。
そして他言語でもこのメソッド持ってないだろ。大して使えないからだよ。
>>212
俺の立場をはっきりさせた方がいいのか?なら、そちらと同じで、
・reduceを使ってもコードメトリクス的な「複雑度」については上がらない。(これが原因で『長期的に』読めなくなることはない)
・reduceは難しくはない。(これが原因で『短期的に』読めなくなることもない)
・使っているコードに遭遇しないのは、そもそも使いどころがないから。
・>>196はイキった馬鹿が無理に使う例だが、まあ、やりたければやればいい。大局的な問題にはならない。
だから、何度も言っているが、
× 使いどころが分からない
○ 使いどころがない
なんだよ。
結局、>>196も、『一時的に』配列として持たせてreduceしただけだろ。
最初からいきなり縮退させれば済むだけの話。
reduceは『配列として意味がある』(≒配列として『持つしかない』)物を縮退させるメソッドであって、
そもそもそのケースがJavaScriptの用途においてはほぼ無いんだよ。
そして他言語でもこのメソッド持ってないだろ。大して使えないからだよ。
>>212
俺の立場をはっきりさせた方がいいのか?なら、そちらと同じで、
・reduceを使ってもコードメトリクス的な「複雑度」については上がらない。(これが原因で『長期的に』読めなくなることはない)
・reduceは難しくはない。(これが原因で『短期的に』読めなくなることもない)
・使っているコードに遭遇しないのは、そもそも使いどころがないから。
・>>196はイキった馬鹿が無理に使う例だが、まあ、やりたければやればいい。大局的な問題にはならない。
214デフォルトの名無しさん
2018/10/28(日) 10:30:34.50ID:PnJQ4LJT > ○ 使いどころがない
使い所はあるだろう?
いや、開発効率とか考えずに、可能不可能だけの話をしたいなら
アセンブラでもできるから高級言語の使い所はないって話になるけど
使い所はあるだろう?
いや、開発効率とか考えずに、可能不可能だけの話をしたいなら
アセンブラでもできるから高級言語の使い所はないって話になるけど
215デフォルトの名無しさん
2018/10/28(日) 10:31:32.69ID:PnJQ4LJT > ・reduceを使ってもコードメトリクス的な「複雑度」については上がらない。(これが原因で『長期的に』読めなくなることはない)
条件分岐、ループが減るので、reduceを使うと複雑度は下がる
当然のことながら僕新人なんですみたいな
人間の問題の話はしない
条件分岐、ループが減るので、reduceを使うと複雑度は下がる
当然のことながら僕新人なんですみたいな
人間の問題の話はしない
216デフォルトの名無しさん
2018/10/28(日) 10:34:55.05ID:PnJQ4LJT reduceは初期状態があって、データの数だけ
状態を変更していくというパターンにすべて使える
例えば、初期状態が0で、配列の数値を加算していくとか
もちろん加算だけじゃなくて任意の計算ができるし
初期状態も数値ではなくて配列などでも良い
状態を変更していくというパターンにすべて使える
例えば、初期状態が0で、配列の数値を加算していくとか
もちろん加算だけじゃなくて任意の計算ができるし
初期状態も数値ではなくて配列などでも良い
217デフォルトの名無しさん
2018/10/28(日) 10:41:06.94ID:3WoixC+I reduceの問題は、reduceをしたくてreduceを使うのではなく
reduceを使って何かをする、というところにあると思う
後から又は他人がコードを読んだときに
何をしているのか、何のためにreduceを使用しているのかを
一旦考えないといけない
利便性はあると思うが
やりたいことそのものズバリを表している名前や動作ではない
というところが難点なのではなかろうか
reduceを使って何かをする、というところにあると思う
後から又は他人がコードを読んだときに
何をしているのか、何のためにreduceを使用しているのかを
一旦考えないといけない
利便性はあると思うが
やりたいことそのものズバリを表している名前や動作ではない
というところが難点なのではなかろうか
218デフォルトの名無しさん
2018/10/28(日) 10:45:25.52ID:PnJQ4LJT > 何をしているのか、何のためにreduceを使用しているのかを
> 一旦考えないといけない
forでも同じ。なんのためにループしているのか
一旦考えてる
> 一旦考えないといけない
forでも同じ。なんのためにループしているのか
一旦考えてる
219デフォルトの名無しさん
2018/10/28(日) 10:48:16.01ID:PnJQ4LJT reduceの場合(人間に問題がない場合)
その名前から「初期値になにかの計算を計上していってる」ってことまで
単語一つで分る
同じことをforでやろうとすると、forは繰り返しているだけ(何をしたいの?)
変数を見つける。その変数になにかの処理を行って、同じ変数に入れている
ここまでコードを読んで、あぁreduce相当の事をやっているんですねとわかる
reduceという単語一つでわかるのと、
コードを読んでいかないとわからない
この違いがある
その名前から「初期値になにかの計算を計上していってる」ってことまで
単語一つで分る
同じことをforでやろうとすると、forは繰り返しているだけ(何をしたいの?)
変数を見つける。その変数になにかの処理を行って、同じ変数に入れている
ここまでコードを読んで、あぁreduce相当の事をやっているんですねとわかる
reduceという単語一つでわかるのと、
コードを読んでいかないとわからない
この違いがある
220デフォルトの名無しさん
2018/10/28(日) 12:50:26.40ID:txWR8pSk クロームで見たとき5chで書き込むボタンを押したとき
ボタンを押す処理をする前に自分の考えた処理を付け加えたい場合
どのようなコードを書けばよろしいでしょうか?
もしよろしければ教えてくださいませ。
ボタンを押す処理をする前に自分の考えた処理を付け加えたい場合
どのようなコードを書けばよろしいでしょうか?
もしよろしければ教えてくださいませ。
221デフォルトの名無しさん
2018/10/28(日) 13:22:50.15ID:0+vzkOx8 >>217
同意だ。
>>216その他
言いたいことは分かるが、forの代わりにreduceを用いたところで大差ない。
reduceの場合も中身(関数)を読まなくてはならず、
そこが単純な関数なら、forで書いても単純だからだ。
結局は、
> reduceは初期状態があって、データの数だけ
> 状態を変更していくというパターンにすべて使える(216)
この汎用性を取った為、
> やりたいことそのものズバリを表している名前や動作ではない(217)
この問題が発生した、ということだ。
数値計算では average/sum/max/min 等のメソッドがarrayに欲しくなるが、
これらは reduce を用いて作れる。
ただ、これらを上位で reduce を用いて書くのは間違いで、
ラップしたメソッド array.average()等を使うべきだ。
だから直接使うのではなく、下位メソッドとして用意した、というのなら分かる。
問題は、JavaScriptで数値計算をすることはないので、この手の中位メソッドが思いつけないことと、
中位メソッド average() として分離した場合、中身がreduceでもforでもどうでもよくなることだ。
これらは所詮数行の関数であり、どっちでも大差ない。
よって、数値計算をする場合にも reduce 自体はあっても現実的にはほとんど意味がない。
そこでしか使わない特殊な縮退を書くときに便利、という程度だ。
reduceを使ってる俺カッケー馬鹿の問題は、reduceを使う為に、
average()を呼ぶべき所をreduceを使ってaverageを取ったりしてしまうことだ。
結果、余計に読むコードが増え、重複したコードが分散してしまう。
これはコードを書く側の問題だが、実際、この問題の方が大きいと思う。
同意だ。
>>216その他
言いたいことは分かるが、forの代わりにreduceを用いたところで大差ない。
reduceの場合も中身(関数)を読まなくてはならず、
そこが単純な関数なら、forで書いても単純だからだ。
結局は、
> reduceは初期状態があって、データの数だけ
> 状態を変更していくというパターンにすべて使える(216)
この汎用性を取った為、
> やりたいことそのものズバリを表している名前や動作ではない(217)
この問題が発生した、ということだ。
数値計算では average/sum/max/min 等のメソッドがarrayに欲しくなるが、
これらは reduce を用いて作れる。
ただ、これらを上位で reduce を用いて書くのは間違いで、
ラップしたメソッド array.average()等を使うべきだ。
だから直接使うのではなく、下位メソッドとして用意した、というのなら分かる。
問題は、JavaScriptで数値計算をすることはないので、この手の中位メソッドが思いつけないことと、
中位メソッド average() として分離した場合、中身がreduceでもforでもどうでもよくなることだ。
これらは所詮数行の関数であり、どっちでも大差ない。
よって、数値計算をする場合にも reduce 自体はあっても現実的にはほとんど意味がない。
そこでしか使わない特殊な縮退を書くときに便利、という程度だ。
reduceを使ってる俺カッケー馬鹿の問題は、reduceを使う為に、
average()を呼ぶべき所をreduceを使ってaverageを取ったりしてしまうことだ。
結果、余計に読むコードが増え、重複したコードが分散してしまう。
これはコードを書く側の問題だが、実際、この問題の方が大きいと思う。
222デフォルトの名無しさん
2018/10/28(日) 13:28:18.39ID:0+vzkOx8 >>220
onsubmit で間に合わなければ mousedown か mouseover とかで
onsubmit で間に合わなければ mousedown か mouseover とかで
223デフォルトの名無しさん
2018/10/28(日) 13:35:44.53ID:86INTnoC224デフォルトの名無しさん
2018/10/28(日) 13:48:12.72ID:0+vzkOx8225デフォルトの名無しさん
2018/10/28(日) 14:37:14.50ID:oeyLhtKk reduce禁止くん、「reduceは『配列として意味がある』物を縮退させるメソッドであって、そのケースがJavaScriptの用途においてはほぼ無い」って言ってるけど、これわざわざ配列使わずにやるの?w
フィルターの順番変えたり途中位置に追加したり削除したりクソめんどくさそうw
reduce禁止くんについてく人は配列も禁止だそうだけど頑張ってねw
でもJavaScriptの用途においてそんなケースほぼ無いそうだから大丈夫だよね!w
フィルターの順番変えたり途中位置に追加したり削除したりクソめんどくさそうw
reduce禁止くんについてく人は配列も禁止だそうだけど頑張ってねw
でもJavaScriptの用途においてそんなケースほぼ無いそうだから大丈夫だよね!w
226デフォルトの名無しさん
2018/10/28(日) 14:54:16.69ID:0+vzkOx8227デフォルトの名無しさん
2018/10/28(日) 15:17:49.97ID:WORMx28e >>220-222
「jquery event」「jquery preventdefault vs stoppropagation」で検索!
click は、要素をクリックする。
submit は、フォーム送信する
preventdefault は、イベントの既定の動作を、キャンセルする。
stoppropagation は、イベントの伝播を止める
JavaScript, jQuery の質問は、この板ではなく、web制作管理板へ書き込んで!
「jquery event」「jquery preventdefault vs stoppropagation」で検索!
click は、要素をクリックする。
submit は、フォーム送信する
preventdefault は、イベントの既定の動作を、キャンセルする。
stoppropagation は、イベントの伝播を止める
JavaScript, jQuery の質問は、この板ではなく、web制作管理板へ書き込んで!
228デフォルトの名無しさん
2018/10/28(日) 15:33:47.14ID:m8lElpnG 一番新しいプロジェクトでreduce何かに使ってたかなと思ったら
一つは空配列に必要なら追加していく形、
要は例えばmapだと同じ数の要素の配列しか返せないからその代わりにreduceを使っていたのと
もう一つは空オブジェクトを取って文字列の配列からオブジェクトにシンボルプロパティを生やしていく
っていうのに使ってた
一つは空配列に必要なら追加していく形、
要は例えばmapだと同じ数の要素の配列しか返せないからその代わりにreduceを使っていたのと
もう一つは空オブジェクトを取って文字列の配列からオブジェクトにシンボルプロパティを生やしていく
っていうのに使ってた
229デフォルトの名無しさん
2018/10/28(日) 16:11:54.33ID:0+vzkOx8230デフォルトの名無しさん
2018/10/28(日) 17:30:33.07ID:m8lElpnG filter+mapの方が良いとも限らないと思うよ
例えばAの場合はvalue.a、Bの場合はvalue.b、Cの場合はvalue.c、そうでなければ追加しないとすると
まずfilterで、AかBかCかというチェックを書いて
またmapでも篩分けしないといけないもの
reduceだといっぺんで済むでしょ
それと何箇所も使わないものをわざわざ関数に切り出しても何にも変わらないよ
例えばAの場合はvalue.a、Bの場合はvalue.b、Cの場合はvalue.c、そうでなければ追加しないとすると
まずfilterで、AかBかCかというチェックを書いて
またmapでも篩分けしないといけないもの
reduceだといっぺんで済むでしょ
それと何箇所も使わないものをわざわざ関数に切り出しても何にも変わらないよ
231デフォルトの名無しさん
2018/10/28(日) 17:35:32.63ID:m8lElpnG あとはDの場合はvalue.d1とvalued2の両方を追加するとかもできるね
というかそもそもfilter+mapの方が良かったら最初からそう書いてると思うけど
というかそもそもfilter+mapの方が良かったら最初からそう書いてると思うけど
232デフォルトの名無しさん
2018/10/28(日) 18:54:29.84ID:0+vzkOx8 >>230-231
reduceが効果的に使われているというのならそのURLを紹介してくれ。
reduceが効果的に使われているというのならそのURLを紹介してくれ。
233デフォルトの名無しさん
2018/10/28(日) 19:08:09.06ID:XoYPKH7l >>221
> reduceの場合も中身(関数)を読まなくてはならず、
> そこが単純な関数なら、forで書いても単純だからだ。
reduceはコードを読まなくても、初期状態から状態を変えていってるっていうのがわかる
forはただのループでしかなので、それがわからない
理解できた?
> reduceの場合も中身(関数)を読まなくてはならず、
> そこが単純な関数なら、forで書いても単純だからだ。
reduceはコードを読まなくても、初期状態から状態を変えていってるっていうのがわかる
forはただのループでしかなので、それがわからない
理解できた?
234デフォルトの名無しさん
2018/10/30(火) 23:54:50.26ID:3PWXbmS6 java
235デフォルトの名無しさん
2018/10/31(水) 00:48:19.13ID:6MB62ZHP ttp://black-flag.net/jquery/20131119-4881.html
このもっと見るボタンを押した時にだけ.jsonを読み込むサンプルなんだけど
.json形式で外部ファイル読み込むようにするんじゃなく本体のhtmlに組み込むにはどうやんの
このもっと見るボタンを押した時にだけ.jsonを読み込むサンプルなんだけど
.json形式で外部ファイル読み込むようにするんじゃなく本体のhtmlに組み込むにはどうやんの
236デフォルトの名無しさん
2018/10/31(水) 01:09:10.31ID:f1tmQgGe ググレカス
237デフォルトの名無しさん
2018/10/31(水) 02:59:19.61ID:QZT9zuHU このページには、やり方が書いてないだろ。
要素の挿入かな?
$("#parent").append("<p>あいう:<b>abc</b></p>");
jQuery などの質問は、この板よりも、web制作管理板へ書き込んで!
要素の挿入かな?
$("#parent").append("<p>あいう:<b>abc</b></p>");
jQuery などの質問は、この板よりも、web制作管理板へ書き込んで!
238デフォルトの名無しさん
2018/10/31(水) 15:10:14.27ID:PW3C3AfV239237
2018/11/01(木) 00:45:15.87ID:PBz6MbCm jQuery も知らんの?
$( ) は、jQuery関数
#parent の# は、id を表す。
<div id="parent"></div>
HTML, CSS, JavaScript, jQueryの、初心者用の本でも読んで、勉強して
$( ) は、jQuery関数
#parent の# は、id を表す。
<div id="parent"></div>
HTML, CSS, JavaScript, jQueryの、初心者用の本でも読んで、勉強して
240デフォルトの名無しさん
2018/11/01(木) 03:20:19.15ID:1A1KjHiV jQuery は読まなくていいよ
241デフォルトの名無しさん
2018/11/01(木) 08:31:05.31ID:gbrxGQSq Electornってブラウザで動くのにnode.jsなんですか?
初心者すぎてその辺よくわからん
初心者すぎてその辺よくわからん
242デフォルトの名無しさん
2018/11/01(木) 08:52:13.83ID:+p1vRE32 いいえV8です
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 【未成年NISA】つみたて枠、18歳未満は600万円上限 12歳で引き出し可能 [蚤の市★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 高市早苗「竹島は日本領土」 [834922174]
- 暖房やめて湯たぼんにしようと思ってる
- 【悲報】最近の若者、「新巻」を読めない [126042664]
- サムスン「うちのメモリ買い占めるの?」Hynix「まあ他社もあるし」Micron「たいした値上げにはならないだろ」ChatGPTが世界のメモリを枯渇 [347751896]
- 🏡
