Beágyazott ciklusok és hatókör a JavaScript-ben

Ha egy ciklus egy másik ciklusban van, akkor a külső ciklusban deklarált változók elérhetők lesznek a belső ciklusban. A következő példában a num változó elérhető a belső ciklusban:

javascriptfor (let i = 0; i <= 9; i++) {
  let num = 3;
  
  for (let j = 0; j <= 9; j++) {
    console.log(num); // kiírja 3-at
  }
}

Azonban a külső cikluson kívül a num változó nem elérhető:

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

console.log(num); // hibát jelez

A belső ciklusban deklarált változók nem elérhetők kívülről:

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

console.log(num); // hibát jelez