ลูปซ้อนและขอบเขตการมองเห็นใน 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); // จะเกิดข้อผิดพลาด