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

Гарантирует ли метод setTimeout точную задержку выполнения

Нет, setTimeout не гарантирует точную задержку. Это связано с тем, что JavaScript работает в однопоточной среде (event loop), и выполнение кода может быть отложено, если основной поток занят другими задачами.

Пример:

javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 1000);
// Долгая синхронная операция
for(let i = 0; i < 1e9; i++) {} // Блокирует поток
console.log('End');

В этом случае колбэк выполнится не через 1000мс, а позже, так как цикл заблокирует поток. Минимальная задержка в браузерах обычно 4мс (по спецификации). Для точных временных интервалов лучше использовать requestAnimationFrame для анимаций или Web Workers для тяжелых вычислений.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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