9 / 32
Что произойдёт, если поставить setTimeout с задержкой 0?
setTimeout(fn, 0) не выполняет колбэк мгновенно. Он помещает его в macrotask queue, и колбэк выполнится только после того, как завершится весь текущий синхронный код и все микротаски. Фактическая минимальная задержка составляет ~4 мс для вложенных вызовов (после 5-й вложенности), а реально колбэк выполнится ещё позже, если стек занят.