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
119デフォルトの名無しさん
2018/10/02(火) 12:54:31.59ID:RHsXQ8hR >>118
日本語でおk
日本語でおk
120デフォルトの名無しさん
2018/10/02(火) 14:56:41.74ID:65V1o4VA 日本語の桶
121デフォルトの名無しさん
2018/10/02(火) 15:45:10.09ID:6qOrAQgQ 桶はざまぁの戦い
122デフォルトの名無しさん
2018/10/08(月) 21:19:13.44ID:CA37Z1fG JavaScript初心者です
JavaScriptの中で別のJavaScriptを読み込んで、その中のclassを使いたいのですが、やり方を教えていただけませんか?
html5とJavaScript(enchant.js)でゲームを作っていて、main.jsの記述を減らすためにファイルを分けようとしたのですが、どうにも上手く読み込んでくれません…
JavaScriptの中で別のJavaScriptを読み込んで、その中のclassを使いたいのですが、やり方を教えていただけませんか?
html5とJavaScript(enchant.js)でゲームを作っていて、main.jsの記述を減らすためにファイルを分けようとしたのですが、どうにも上手く読み込んでくれません…
123デフォルトの名無しさん
2018/10/08(月) 21:21:07.03ID:IMi/szTI124デフォルトの名無しさん
2018/10/08(月) 21:53:33.10ID:l3K5ZkX8 普通にモジュールにすれば?
125デフォルトの名無しさん
2018/10/08(月) 21:57:40.61ID:IMi/szTI ブラウザがモジュールに対応してないからビルドが必要になるということ
126デフォルトの名無しさん
2018/10/09(火) 00:47:20.38ID:ag2UDSq0 モダンブラウザは対応してるでしょ
シェアの8割〜9割は対応してることになる
非サポート組はnomoduleで最低限の機能提供するか
JS切ってるのと同等に扱ったほうが良いだろうね
シェアの8割〜9割は対応してることになる
非サポート組はnomoduleで最低限の機能提供するか
JS切ってるのと同等に扱ったほうが良いだろうね
127デフォルトの名無しさん
2018/10/09(火) 05:31:49.77ID:0K1bBeTL 小さく始める isomorphic module pattern
https://qiita.com/Jxck_/items/14bbb49d1fd657f03343
【JavaScript】モジュールパターンについて知る
https://qiita.com/kenju/items/a8a1009f5872a8b12568
原始的なモジュール定義は、即時関数で囲めばプライベートになり、外から内部にアクセスできない。
公開する属性だけ、return で返せばよい。
下のサイトの、モジュールパターン4 を参照
本格的な開発では、Node.js, webpack, ES6 などを使う
モジュールシステムは、AMD, commonjs 方式の2つあり、
そのゲームエンジンが採用している方を使えばよい
https://qiita.com/Jxck_/items/14bbb49d1fd657f03343
【JavaScript】モジュールパターンについて知る
https://qiita.com/kenju/items/a8a1009f5872a8b12568
原始的なモジュール定義は、即時関数で囲めばプライベートになり、外から内部にアクセスできない。
公開する属性だけ、return で返せばよい。
下のサイトの、モジュールパターン4 を参照
本格的な開発では、Node.js, webpack, ES6 などを使う
モジュールシステムは、AMD, commonjs 方式の2つあり、
そのゲームエンジンが採用している方を使えばよい
128デフォルトの名無しさん
2018/10/09(火) 07:43:45.77ID:UgeI4/Dm129デフォルトの名無しさん
2018/10/09(火) 13:01:09.86ID:WbCvYqZw それとは結構違うな
レガシーブラウザを使い続けてるって言うのは特殊な部分があるし、
ブラウザもその下のハードウェアも性能に期待できないから
ポリフィルという重しを課してまでモダンブラウザと同等に働かせるべきかと言うと
自分はハテナを浮かべるな
レガシーブラウザを使い続けてるって言うのは特殊な部分があるし、
ブラウザもその下のハードウェアも性能に期待できないから
ポリフィルという重しを課してまでモダンブラウザと同等に働かせるべきかと言うと
自分はハテナを浮かべるな
130デフォルトの名無しさん
2018/10/09(火) 15:30:06.33ID:5rulySP1 class言ってるんだからモダンブラウザで良いでしょ
131デフォルトの名無しさん
2018/10/09(火) 16:36:00.49ID:nSYMPMxp >>128
シェアの8割〜9割の意味をもう少し考えたらどうだ
シェアの8割〜9割の意味をもう少し考えたらどうだ
132デフォルトの名無しさん
2018/10/09(火) 16:58:59.78ID:UgeI4/Dm133デフォルトの名無しさん
2018/10/09(火) 20:41:59.88ID:nSYMPMxp >>132
それでなんでFirefoxで動かなくていいやってことになるんだ?
それでなんでFirefoxで動かなくていいやってことになるんだ?
134デフォルトの名無しさん
2018/10/09(火) 22:33:02.61ID:UgeI4/Dm Firefox使ってる人なんて1割もいないからね
135デフォルトの名無しさん
2018/10/10(水) 07:19:30.36ID:sen6MTwy 動画ダウンロードで使わない?
136デフォルトの名無しさん
2018/10/10(水) 08:45:51.61ID:az2ldVPt そもそも動画ダウンロードなんてしないからね
137デフォルトの名無しさん
2018/10/10(水) 12:20:48.13ID:AVL6Qil2 またーw
138デフォルトの名無しさん
2018/10/10(水) 14:19:23.42ID:okGPgjBf JavaScriptを理解するのってどのくらいの期間かかるものなの?
ドットインストールの有料コース3週くらいやってんだけど未だ難しい
ドットインストールの有料コース3週くらいやってんだけど未だ難しい
139デフォルトの名無しさん
2018/10/10(水) 14:38:22.99ID:B6RiIKZG >>134
まだ理解できてないのか・・
まだ理解できてないのか・・
140デフォルトの名無しさん
2018/10/10(水) 14:46:23.62ID:9JBgxA14141デフォルトの名無しさん
2018/10/10(水) 18:21:03.46ID:dFZubxbw IEしか使えないってのは要するに企業ユーザーであって
それは案件ごとに要望に沿うだけの話だけど
宗教的理由によりIEしか使えない奴らはそれこそ知らんと言っても良いと思う
それは案件ごとに要望に沿うだけの話だけど
宗教的理由によりIEしか使えない奴らはそれこそ知らんと言っても良いと思う
142デフォルトの名無しさん
2018/10/10(水) 18:33:02.65ID:iLk33V8J 日立の証明書はIEでしか使えないらしいな
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でも同じ。なんのためにループしているのか
一旦考えてる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【和訳付き】レーダー照射問題 中国軍と自衛隊との“音声データ”公開 中国国営メディア [♪♪♪★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 中国とロシアの爆撃機、日本周辺で共同飛行 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【高市悲報】レーダー照射、自衛隊機も中国軍に対して照射を行っていた。高市は説明せよ [483862913]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★2 [597533159]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★3 [597533159]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
- 俺が突拍子もないレスするとスクリプト扱いされるの不満なんだが
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
