Встречается на собеседованиях • сегодня
Когда у setTimeout вместо задержки 0 появляется другое значение
При вызове setTimeout(callback, 0) колбэк помещается в очередь макрозадач и выполнится после завершения текущего стека вызовов и всех микрозадач (например, промисов). Однако если указать задержку больше 0 (например, setTimeout(callback, 4)), движок может добавить дополнительную задержку:
- Минимальная задержка в браузерах обычно 4мс (может варьироваться)
- При вкладке в фоновом режиме таймеры замедляются (min 1000мс)
- Вложенные
setTimeoutс задержкой 0 могут увеличивать задержку
Пример:
js
console.time('timer');
setTimeout(() => {
console.timeEnd('timer'); // Покажет ~4мс, а не 0
}, 0);Это поведение специфично для браузеров и связано с оптимизацией производительности. В Node.js минимальная задержка может отличаться.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы