JavaScript の質問用スレッド vol.126 (308レス)
JavaScript の質問用スレッド vol.126 http://mevius.5ch.net/test/read.cgi/tech/1702111239/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
187: デフォルトの名無しさん (ワッチョイ d15e-4mIM [240b:12:203:6300:* [上級国民]]) [sage] 2024/04/20(土) 14:12:14.37 ID:7dIwEOD00 >>186 JavaScriptはCromeやFirefox等のブラウザ作ってる所が各自で動作するエンジン作れと丸投げしてるが 仕様書にあたるECMAScriptが長い間ES5というバージョンのまま止まってた その頃には変数宣言はvarのみだった 流石に今時のプログラミング言語にしようぜって事でECMAScriptの強化が始まり(ES6というプロジェクト) 最終的に2015年からは毎年強化した仕様を出しましょうという話になった その最初の成果物とも言えるES2015で変数宣言としてvarの他にletとconstの2つが追加 for (var i = 0; i < 5; i++) { setTimeout(() => console.log(i)) } これの出力結果が4が5個連続で表示される 違和感があるが、 letのブロックスコープによって解消されてるのでvarはもう二度と使うなという風潮が出来た (それ以外にもvarは関数の先頭で纏めて書かないと変な動きする箇所がちらほら見受けられ、コーディング規約で制限されていた) また値がコロコロ変わる状態変数が多いと 登場人物がやたら多い粗悪な小説みたいになって作業者が困るので 「再代入禁止の変数」を求める声が元々多かった その要望を汲んだ再代入禁止のconstも実装されたため 必要になるまで全てconstでプログラミングして、必要な箇所だけ最小限にletを使いましょうという風潮が比較的早く出来た http://mevius.5ch.net/test/read.cgi/tech/1702111239/187
188: デフォルトの名無しさん (ワッチョイ d15e-4mIM [240b:12:203:6300:* [上級国民]]) [sage] 2024/04/20(土) 14:22:49.70 ID:7dIwEOD00 constは直訳すれば定数だが JSのconstは再代入しちゃいけませんよってだけで 基本は普通の変数として取り扱う 配列やオブジェクト、関数、インスタンスなんかもconstで宣言出来るね 他言語のletみたいなものと考えると良い constで宣言したオブジェクトや配列は再代入禁止なだけで、中身は普通に加工出来てしまうのも作りとして良くない const arr = [1, 2, 3]; arr.push(4); console.log(arr); // [1, 2, 3, 4] この辺は勝手に加工しないよう運用でカバーやね 値は基本的に複製しまくってガベージコレクションで掃除してもらう パフォーマンスチューニングで仕方なく一つの値を加工しまくる時はライブラリ化したり関数で固めたりして、メインロジックの邪魔にならないようにすること http://mevius.5ch.net/test/read.cgi/tech/1702111239/188
192: デフォルトの名無しさん (ワッチョイ d1f1-4mIM [240b:12:203:6300:* [上級国民]]) [sage] 2024/04/20(土) 22:27:55.19 ID:7dIwEOD00 >>190 lodashは関数型プログラミング的な値の加工を司るフレームワークだぞ 一部だけ利用させて頂いて関数片の集合体ライブラリとして使うことも出来るがな フレームワークは機能を提供するライブラリであると共に 大きなプロダクトを作っていく為のファイル・関数・モジュール置き場をルールで区切ってここに設置してくださいねー こういう司書さんみたいな役割も担ってる 複数人でプロダクトを触ったり 半年後にどれどれ?と帰ってきて読み直した時にナニコレ?にならない為に プログラミングスキルの良し悪しに限らず 適切なフレームワークがあるなら使った方が良い フレームワークを使わん機能を作る時でも 関数やファイルを作って保管するタイミングで「このフレームワークの考え方は好きだな、同じディレクトリ名を作ってそこに保管しよう」 自然とこういう発想が生まれる なのでフレームワークを使い分けてる人間は引き出しが多くなっていき 可読性の良いプロダクトを作る能力も養われる 結局フレームワーク無しで適当に関数やファイルを作って放り投げるばかりで 読み辛いプロダクト作ってる奴なんて3流の雑魚だよ http://mevius.5ch.net/test/read.cgi/tech/1702111239/192
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.073s*