Vnořené smyčky a oblast viditelnosti v JavaScriptu

Pokud máme smyčku ve smyčce, pak proměnné deklarované ve vnější smyčce budou přístupné ve vnitřní. V následujícím příkladu je proměnná num přístupná ve vnitřní smyčce:

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

Ale mimo vnější smyčku je proměnná num nepřístupná:

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

console.log(num); // vypíše chybu

Proměnné deklarované ve vnitřní smyčce jsou nepřístupné zvenčí:

javascriptfor (let i = 0; i <= 9; i++) {
  for (let j = 0; j <= 9; j++) {
    let num = 3;
  }
  
  console.log(num); // vypíše chybu
}

console.log(num); // vypíše chybu