JavaScript · Middle · Запитання 4 з 75
Що виведе код через секунду?
const timer = {
seconds: 10,
start() {
setTimeout(function () { console.log(this.seconds); }, 1000);
},
};
timer.start();- ✓Правильна відповідь:
undefined: звичайна функція-колбек має власнийthis - 2
10: колбек отримуєthisвід методуstart - 3
ReferenceError:thisнедоступний усередині таймера
Пояснення
Колбек викликається таймером без контексту, тому this - не timer. Стрілкова функція () => console.log(this.seconds) взяла б this зі start і вивела 10. Це класичний приклад, де стрілки корисні.