Vòng lặp lồng nhau và phạm vi biến trong JavaScript

Nếu chúng ta có một vòng lặp bên trong một vòng lặp, thì các biến được khai báo ở vòng lặp bên ngoài sẽ có thể truy cập được ở vòng lặp bên trong. Trong ví dụ tiếp theo, biến num có thể truy cập được ở vòng lặp bên trong:

javascriptfor (let i = 0; i <= 9; i++) {
  let num = 3;
  
  for (let j = 0; j <= 9; j++) {
    console.log(num); // sẽ hiển thị 3
  }
}

Tuy nhiên, bên ngoài vòng lặp bên ngoài, biến num không thể truy cập được:

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

console.log(num); // sẽ báo lỗi

Các biến được khai báo ở vòng lặp bên trong không thể truy cập được từ bên ngoài:

javascriptfor (let i = 0; i <= 9; i++) {
  for (let j = 0; j <= 9; j++) {
    let num = 3;
  }
  
  console.log(num); // sẽ báo lỗi
}

console.log(num); // sẽ báo lỗi