![変数宣言、スコープ](https://mitikusa-engineer.com/wp-content/uploads/2022/05/Javascript-1024x538.png)
Javascriptの変数宣言方法、スコープ範囲をまとめました。
宣言
宣言方法は、『const』『let』『var』の3種類あります。
再宣言、再代入
各宣言方法における再宣言、再代入の可(〇)否(×)を表にまとめました。
宣言方法 | 再宣言 | 再代入 |
---|---|---|
const | × | × |
let | × | 〇 |
var | 〇 | 〇 |
再宣言はバグの元なので、それが可能な『var』を使った宣言は使わないようにしましょう。
説明も特にしません。
再代入は、ざっくりいうと「格納した値を別の値で更新すること」です。
『const』はそれができないため、格納した値を更新してはいけない変数によく使われます。
『let』は、『const』以外の全ての変数で使います。
スコープ
変数のスコープとは、「変数を参照できる範囲」のことです。
『const』と『let』のスコープをまとめると下記になります。
宣言方法 | グローバルスコープ | 関数スコープ | ブロックスコープ |
---|---|---|---|
const | 〇 | 〇 | 〇 |
let | 〇 | 〇 | 〇 |
上記の通り、『var』以外のスコープに違いはありません。
グローバルスコープ:関数の外側の宣言を、全ての場所から使用できる
関数スコープ :関数内(function(){})の宣言を、その関数内でだけ使用できる
ブロックスコープ :命令ブロック内(if{}など)の宣言を、その命令ブロック内でだけ使用できる
下記にサンプルコードをまとめます。