Провожу собеседования JS-разработчиков разных уровней и возникли сомнения в уместности вот таких, например, вопросов.
В чем разница этих двух вызовов и что произойдет в браузере?
(function() {
function loop() {
console.log('loop');
setTimeout(loop);
}
loop();
})();
(function() {
function loop() {
console.log('loop');
return Promise.resolve().then(loop);
}
loop();
})();
Что будет результатом этих трёх вызовов?
Promise.resolve(1).then(res => console.log(res));
Promise.resolve(1)
.then(Promise.resolve(2))
.then(res => console.log(res));
Promise.resolve(1)
.then(res => Promise.resolve(2))
.then(res => console.log(res));
Уместны ли такие вопросы?