Задать вопрос
@Torento20345

Как инициализируются переменные let и var в цикле for?

У нас есть цикл for.
Каким образом там переменные создаются и инициализируются?
Почему получается так, что var создается как бы вне цикла и получает только конечный результат для всех console.log(i)
А let у нас присваивает каждому отдельно?
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
С let на каждой итерации создаётся окружение.

См. ECMASCript CreatePerIterationEnvironment( perIterationBindings )

Можно так переписать:
for(var i = 0; i < 3; i++) {
  let j = i; // доступна только на этой итерации в этом блоке
  setTimeout(() => console.log(j), 0);
}
/*
0
1
2
*/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы