JavaScript · Middle · Запитання 12 з 75
Що виведе код?
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 0);
}- ✓Правильна відповідь:
3 3 3 - 2
0 1 2 - 3
undefinedтричі
Пояснення
var створює одну змінну на всю функцію, і на момент спрацювання таймерів цикл уже завершився з i = 3. З let на кожній ітерації створюється нова прив'язка, і виведення буде 0 1 2.