JavaScriptにおけるネストされたループとスコープ

ループ内にループがある場合、外部ループで宣言された変数は内部ループでアクセス可能です。 次の例では、変数numが内部ループでアクセス可能です:

javascriptfor (let i = 0; i <= 9; i++) {
  let num = 3;
  
  for (let j = 0; j <= 9; j++) {
    console.log(num); // 3を出力
  }
}

しかし、外部ループの外側では変数numはアクセスできません:

javascriptfor (let i = 0; i <= 9; i++) {
  let num = 3;
  
  for (let j = 0; j <= 9; j++) {
    
  }
}

console.log(num); // エラーを発生させる

内部ループで宣言された変数は、その外側ではアクセスできません:

javascriptfor (let i = 0; i <= 9; i++) {
  for (let j = 0; j <= 9; j++) {
    let num = 3;
  }
  
  console.log(num); // エラーを発生させる
}

console.log(num); // エラーを発生させる