Встречается на собеседованиях • сегодня
Какое поведение у this в зависимости от контекста использования в JavaScript
this в JavaScript зависит от контекста вызова функции:
-
Глобальный контекст (вне функций) —
thisссылается наwindow(в браузере) илиglobal(в Node.js).javascriptconsole.log(this === window); // true (в браузере) -
Функция (не стрелочная) —
thisопределяется при вызове:- Обычный вызов:
this—window(нестрогий режим) илиundefined(строгий режим).javascriptfunction foo() { console.log(this); } foo(); // window (или undefined в strict mode) - Метод объекта:
this— объект перед точкой.javascriptconst obj = { bar() { console.log(this); } }; obj.bar(); // obj
- Обычный вызов:
-
Стрелочная функция —
thisберется из внешнего лексического контекста (не имеет своего).javascriptconst obj = { foo: () => console.log(this), }; obj.foo(); // window (а не obj!) -
Явное указание —
call,apply,bindзадаютthisвручную.javascriptfunction greet() { console.log(this.name); } greet.call({ name: 'Alex' }); // "Alex" -
Конструктор (
new) —thisссылается на новый созданный объект.javascriptfunction Person() { this.name = 'John'; } const p = new Person(); console.log(p.name); // "John"

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы