Sisäkkäiset silmukat ja näkyvyysalue JavaScriptissä

Jos meillä on silmukka silmukan sisällä, ulomman silmukan sisällä esitellyt muuttujat tulevat saataville sisemmässä silmukassa. Seuraavassa esimerkissä muuttuja num on saatavilla sisemmässä silmukassa:

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

Mutta ulomman silmukan ulkopuolella muuttuja num ei ole saatavilla:

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

console.log(num); // aiheuttaa virheen

Sisemmässä silmukassa esitellyt muuttujat eivät ole saatavilla ulkopuolelta:

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

console.log(num); // aiheuttaa virheen