Вобласць бачнасці ў цыклах 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