Объяснение
Свойства ищутся сначала у объекта, затем в цепочке прототипов. Метод получает this в зависимости от вызова. Стрелочная функция захватывает this из окружающей области.
Задача для самостоятельного решения
Почему переданный отдельно метод иногда теряет this?
Показать разбор ответа
При вызове function reference без объекта прежний receiver не сохраняется. Используйте bind, обёртку или подходящую стрелочную функцию.