let宣言(JavaScript 1.8.5)はグローバルスコープを作らない
概要
- let宣言(ECMAScript 2015、JavaScript 1.8.5)は変数にブロックスコープを与える。グローバルスコープは与えない。
- 関数の外でletを使ってもグローバル変数は定義されない。
詳細
let宣言はブロックスコープの変数を宣言することで有名ですが、同時にグローバルスコープの変数を作らない性質を持ちます。従って、関数の外でletを使用してもグローバル変数を追加しません。
<html lang="ja"> <body> <script type="text/javascript"> <!-- let i = 0; var j = 0; alert(window.i); // undefined alert(window.j); // 0 //--> </script> </body> </html>
参考
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/let