React入門ということで基礎からJavaScriptを学習しなおしています。
ということでES2015〜の記法について const let var の違いまとめ。
var
再宣言=可能
再代入=可能
スコープ=関数スコープ
繰り返し構文=可能
一番縛りが緩い変数。そのゆるさが元でバグの温床になりやすいのでES2015〜ではほとんど使われない。
同じ変数名で再宣言できてしまう。
基本的に使わない方が良い。
let
再宣言=不可能
再代入=可能
スコープ=ブロックスコープ
繰り返し構文=可能
同じ変数名で再宣言できない。
const
再宣言=不可能
再代入=不可能
スコープ=ブロックスコープ
繰り返し構文=不可能
超厳格で再宣言も再代入もできないので、意図せずに値を書き換えてしまうことを防ぐ。
ただし、オブジェクト型のプロパティに関しては変更が可能。
使い分け
基本的にはconstを使って、繰り返し構文の中ではletを使うようにする。