【JavaScript】varとletの違い
JavaScriptでは、var命令を使って変数の宣言をする。
さらに、ES2015では変数の宣言用命令としてletが追加された。
letはvar命令と比較し、以下の機能が追加されている。
変数の重複を許可しない
letの場合は変数の重複を許さない。
以下のコードはエラーとなる。
1 2 |
let val = 'a'; let val = 'b'; |
一方varは重複を許可するので、以下のコードはエラートならない。
(valは最終的に「b」で上書きされる)
1 2 |
var val = 'a' var val = 'b' |
ブロックスコープを指定できる
let命令が追加されるまでJavaScriptには、変数のスコープを指定できなかった。
たとえば、以下のようなコードでもエラートはならない。
1 2 3 4 |
if(true) { var i = 1: } console.log(i); |
しかし、let命令を使うことで、変数のスコープを指定できるようになった。
以下のコードはエラーとなる。
1 2 3 4 |
if(true) { let i = 1: } console.log(i); //エラー |
タグ :
JavaScript