私はlet
Node.JSで遊んでいます(フラグ--harmony
とが必要--use-strict
です)。私が理解しているように、このlet
ステートメントではブロックスコープの宣言が許可されています。次の点を考慮してください。
let a;
for(let i = 0; i < 3; i += 1) {
console.log(i);
}
関与するブロックスコープの数は? どのブロックスコープにi
住んでいますか? この例が機能するには、次のように3 つのブロック スコープが関係し、1 つのスコープがfor
ループによって暗黙的に作成されると考えるのは正しいでしょうか?
{ // block #1
let a;
{ // block #2 (contains `i`)
let i;
for(i = 0; i < 3; i += 1) { // block #3
console.log(i);
}
}
}