Ugniježđene petlje i opseg vidljivosti u JavaScriptu

Ako imamo petlju unutar petlje, promenljive deklarisane u spoljnoj petlji biće dostupne u unutrašnjoj. U sledećem primeru promenljiva num je dostupna u unutrašnjoj petlji:

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

Ali, izvan spoljne petlje promenljiva num nije dostupna:

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

console.log(num); // baciće grešku

Promenljive deklarisane u unutrašnjoj petlji nisu dostupne spolja:

javascriptfor (let i = 0; i <= 9; i++) {
  for (let j = 0; j <= 9; j++) {
    let num = 3;
  }
  
  console.log(num); // baciće grešku
}

console.log(num); // baciće grešku