私はletNode.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);
}
}
}