Вгнездени јамки и опсег на видливост во 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); // ќе даде грешка