Обхват на видимост в цикли на JavaScript

Нека да разгледаме какъв обхват на видимост имат променливите при работа с цикли. Нека декларираме някаква променлива вътре в цикъл:

javascriptfor (let i = 1; i <= 9; i++) {
  let num = 3;
  console.log(num); // ще изведе 3
}

Ако се опитаме да изведем тази променлива извън цикъла, ще получим грешка:

javascriptfor (let i = 1; i <= 9; i++) {
  let num = 3;
}

console.log(num); // ще даде грешка

При необходимост може да декларираме променливата извън цикъла - тогава тя ще бъде достъпна както вътре в цикъла, така и отвън:

javascriptlet num; // декларираме променливата извън цикъла

for (let i = 1; i <= 9; i++) {
  num = 3; // ще ѝ зададем стойност
}

console.log(num); // ще изведе 3