Задача JS
@front_testsОтвет:
one three two
Обьяснение:
В самом простом случае правило такое: все что находится в setTimeout не выполнится через N миллисекунд, а добавится в стек вызовов. Но перед фактическим вызовом, если в стеке еще есть что-то, оно выполнится первым. Поэтому таймаут с 0 мс добавляет console.log('two') в конец стека. А перед ним уже есть еще два вызова. Этим объясняется, что асинхронный код выполняется после синхронного.
Более подробно изучить теорию можно на моём втором канале Front Study
Код для проверки:
console.log('one');
setTimeout(function() {
console.log('two');
}, 0);
console.log('three');