Метод, потерявший себя
В классе всё есть, а внутри метода — undefined
Учебное расследование по курсу JavaScript: 7 шагов, сложность 3 из 3.
Материалы дела
Корзину переписали на классы: чисто, аккуратно, всё по местам. После переписывания кнопка «Очистить» перестала работать, а в консоли — «Cannot read properties of undefined».
Странность в том, что тот же самый метод, вызванный из кода вручную, работает без нареканий. Ломается он только при нажатии на кнопку.
У вас код класса, отладочная выгрузка и памятка. Найдите, где теряется объект.
Что будете применять
- this определяется вызовом
- метод как колбэк
- стрелка и bind
- класс и его состояние
Как проходит расследование
Читайте материалы дела, проверяйте предположения и решайте задания шаг за шагом. Решения проверяются на платформе; к следующему шагу ведёт найденная вами улика.
Для этого дела нужен бесплатный аккаунт: в нём сохраняются шаги и результат.
Практика и материалы по теме курса
- Тренажёр: повторить темы курса
- Расследование: Заказ на NaN рублей
- Расследование: Правка, которая размножилась
- Расследование: Заявка без телефона
- Расследование: Кнопка, которая всегда последняя
- Расследование: Отчёт приходит не тот
- Расследование: Ошибка, которую съели
- Расследование: Страница, которая тяжелеет
- Курс JavaScript переписан: восемнадцать уроков и код, который выполняется прямо в уроке
- Курс «JavaScript с нуля»: язык, на котором живут страницы