Answer
t.me/js_testОтвет:
second 100000000 first 100000000
Обьяснение:
Все запланированные вызовы setTimeout вызываются после выполнения текущего кода(в нашем случае после выполнения цикла). setTimeout без второго параметра эквивалентен коду
setTimeout(() => console.log('second',i),0)
поэтому сначала в консоль выведется слово second, после него first.
Код для проверки:
let i = 0;
setTimeout(() => console.log('first',i), 100);
setTimeout(() => console.log('second',i));
for(let j = 0; j < 100000000; j++) {
i++;
}