Угњеждене петље и опсег видљивости у 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); // даће грешку