javascriptのvarとletの違いをご存じでしょうか?
簡単に言うと、varは「関数スコープ」で、letは「ブロックスコープ」です。
例を見るとわかりやすいと思います。見てみましょう。
まずはvar。
ifブロックの中で定義しています。
1 2 3 4 5 6 |
function kamo() { if (true) { var i = 1; } console.log(i) } |
この場合、console.logが機能し、数字が順に出力されます。
続いてlet。同じくifブロックの中で定義しています。
1 2 3 4 5 6 7 |
function tora() { if (true) { let i = 1; } console.log(i) } |
letの場合、console.logが機能せず、エラーになります。letは、変数を定義したブロック内でのみ使用できるわけですね。
覚えておきましょう!