Встречается на собеседованиях • сегодня

Писал ли циклы с var

Циклы с var имеют особенность из-за его областью видимости (function scope). В отличие от let и const, переменная var внутри цикла будет доступна и за его пределами, что может привести к неожиданным результатам.

Пример:

javascript
for (var i = 0; i < 5; i++) {
  setTimeout(() => console.log(i), 100); // Выведет 5 пять раз
}

Из-за hoisting'а и function scope, i становится глобальной для функции, и все таймауты ссылаются на одно и то же значение. Решение — использовать let (block scope):

javascript
for (let i = 0; i < 5; i++) {
  setTimeout(() => console.log(i), 100); // Выведет 0, 1, 2, 3, 4
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы