「JAVASCRIPT」 let と var の違い

let と var の構文は同じで、変数を定義できるという点でも似ています。

では、どこが違うのでしょうか?

答えは、変数の有効範囲にあります。

let の方が有効範囲が小さいのが特徴です。

var x = 1;

if (1) {

  let x = 2;

  console.log ( x ); // 2を表示

}

console.log ( x ); // 1を表示

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

このように、let と var を使い分けることによりよりスマートに書くことができます。

もっと詳しくしりたい!

という方は、変数のスコープというキーワードで検索してみてください。

じつは、もう一つ異なる点があります。

それは、再宣言できるかどうかです。

再宣言とは、変数を定義した後で再度同じ変数名で変数を定義することです。

let では、再定義することができません。

var x = 1;

var x = 2 // 変数名xで変数を2として、再定義

let y = 1;

let y = 2;// Uncaught SyntaxError: Identifier 'y' has already been declared

となり、エラーが表示されてしまいます。