Вступить в клуб →
средняявопросJavaScript и TypeScript

Кнопка «Очистить корзину» не очищает корзину и не выдаёт ошибок

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, и присваивание игнорируется

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела