8

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

1 に答える 1