@Torento20345

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

У нас есть цикл for.
Каким образом там переменные создаются и инициализируются?
Почему получается так, что var создается как бы вне цикла и получает только конечный результат для всех console.log(i)
А let у нас присваивает каждому отдельно?
  • Вопрос задан
  • 141 просмотр
Решения вопроса 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
*/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
15 мая 2024, в 22:07
3000 руб./за проект
15 мая 2024, в 22:06
3000 руб./за проект
15 мая 2024, в 20:48
5000 руб./за проект