Вопрос проверяет понимание того, как определяется this в JavaScript в зависимости от способа вызова функции.
Короткий ответ
this не “лежит” внутри функции навсегда — он определяется в момент вызова. Если функция вызвана как метод объекта (obj.fn()), то this обычно будет указывать на obj. Если вынести метод в переменную и вызвать как обычную функцию (const f = obj.fn; f()), то this потеряется: в strict mode станет undefined, а без strict mode — глобальным объектом (в браузере это window). У стрелочной функции нет своего this, она берет его из внешнего окружения.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.