let, const , var
目的
宣言方法一覧
- const
- let
- var
const
1度しか代入できない変数(定数)
スコープの制約がある
実行
{ const a = 1; console.log(a); }
実行結果
1
実行
{ const a = 1; a = 2; console.log(a); }
実行結果
再代入を実施するとエラーが発生する
VM498:3 Uncaught TypeError: Assignment to constant variable. at <anonymous>:3:7
実行
{ const a = 1; } console.log(a);
実行結果
スコープ外では宣言していないためエラーが発生する
VM191:1 Uncaught ReferenceError: a is not defined at <anonymous>:1:13
let
再代入可能
スコープの制約がある
実行
{ let b = 1; b = 2; console.log(b); }
実行結果
再代入され1
ではなく2
になる
2
実行
{ let b = 1; } console.log(b);
実行結果
スコープ外なのでエラーが発生する
VM346:1 Uncaught ReferenceError: b is not defined at <anonymous>:1:13
var
再代入可能
スコープの制約がない
(使用は非推奨)
実行
{ let c = 1; c = 2; console.log(c); }
実行結果
2
実行
{ let c = 1; } console.log(c);
実行結果
1