JavaScriptにおけるネストされたループとスコープ
ループ内にループがある場合、外部ループで宣言された変数は内部ループでアクセス可能です。
次の例では、変数numが内部ループでアクセス可能です:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
console.log(num); // 3を出力
}
}
しかし、外部ループの外側では変数numはアクセスできません:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
}
}
console.log(num); // エラーを発生させる
内部ループで宣言された変数は、その外側ではアクセスできません:
for (let i = 0; i <= 9; i++) {
for (let j = 0; j <= 9; j++) {
let num = 3;
}
console.log(num); // エラーを発生させる
}
console.log(num); // エラーを発生させる