Кнопка «Очистить корзину» не очищает корзину и не выдаёт ошибок
class Cart {
items = ['a', 'b'];
clear() {
this.items = [];
}
}
const cart = new Cart();
clearButton.addEventListener('click', cart.clear);
После клика cart.items по-прежнему ['a', 'b'], в консоли ошибок нет. Что произошло?
- Метод передан без привязки: this внутри — кнопка, и items записался в неё
- Поле items объявлено через =, поэтому метод не может его изменить
- addEventListener вызывает обработчик только после повторного клика
- this внутри метода класса всегда равен undefined, и присваивание игнорируется
