JavaScript · Middle · Запитання 55 з 75
Чому обробники подій часто пишуть як поля класу зі стрілковими функціями?
class Counter {
count = 0;
handleClick = () => { this.count++; };
}
button.addEventListener("click", counter.handleClick);- ✓Правильна відповідь: Стрілкові функції захоплюють
thisекземпляра, тому метод працює й у разі передавання як колбек - 2Поля класу швидші за методи прототипу
- 3Звичайні методи не можна використовувати як обробники подій
Пояснення
Метод прототипу, переданий як колбек, втрачає this. Ціна: кожен екземпляр отримує власну копію функції замість спільної на прототипі.