質問: JavaScriptの変数(var・let・const)の違いと使い分けを教えてください。 OS「Windows 10」 JavaScript 初心者です。
回答: 再代入できる:変数 再代入できない:定数 再宣言できる:単に再宣言のチェックをしてないだけ 再宣言できない:厳密に再宣言のチェックをしていて、再宣言されたらエラーになる 関数スコープ:関数内で同一・変数名なら一意の変数になる ブロックスコープ:ブロックごとに変数を定義可能、関数内で同一・変数名でも、ブロックごとに変数を定義可能。 下記例では変数iは別々のメモリー領域が参照されます、言葉では良く分かりにくい下記を実行してみると良いでしょう。 {let i=123; {let i=321;console.log(i);} console.log(i);} (上記のことなど どうでも良いレベルの)var最大のクソ仕様「変数の巻き上げ」。 javascriptにおける変数の巻き上げをざっくりまとめ