Pesastatud tsüklid ja skoopus JavaScriptis

Kui meil on tsükel tsüklis, siis muutujad, mis on deklareeritud välimises tsüklis, on kättesaadavad sisemises tsüklis. Järgmises näites on muutuja num kättesaadav sisemises tsüklis:

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

Kuid väljaspool välimist tsüklit pole muutuja num kättesaadav:

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

console.log(num); // annab vea

Muutujad, mis on deklareeritud sisemises tsüklis, ei ole kättesaavad väljaspool seda:

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

console.log(num); // annab vea