Что такое контекст в JavaScript, ключевое слово this? Что будет в консоли, если вызвать метод объекта, внутри которого написано console.log(this)?

Для обычного метода, вызванного как obj.method(), this обычно равен obj; значение определяется способом вызова, а не местом объявления функции.

Короткий ответ

Что ответить на собеседовании

Для обычного метода, вызванного как obj.method(), this обычно равен obj; значение определяется способом вызова, а не местом объявления функции.

Подробный разбор

Ответ с пояснениями

Для обычного метода, вызванного как obj.method(), this обычно равен obj; значение определяется способом вызова, а не местом объявления функции.

Если сохранить метод в переменную и вызвать отдельно, связь с obj потеряется: в strict mode this будет undefined, иначе возможна подстановка глобального объекта. bind фиксирует this, а стрелочная функция получает его из внешнего лексического окружения. Поэтому без кода нельзя обещать конкретный объект в консоли для любого вида метода.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее