Встречается на собеседованиях • сегодня
Как вычисляется This
this определяется в момент вызова функции и зависит от контекста:
- Простой вызов:
thisбудетwindow(в нестрогом режиме) илиundefined(в строгом режиме)
javascript
function foo() { console.log(this); }
foo(); // window или undefined- Метод объекта:
this- объект перед точкой
javascript
const obj = {
bar() { console.log(this); }
};
obj.bar(); // obj- Явное указание: через
call,apply,bind
javascript
function baz() { console.log(this); }
baz.call({x: 1}); // {x: 1}- Конструктор:
this- новый созданный объект
javascript
new Foo(); // this внутри Foo - новый экземпляр- Стрелочные функции: берут
thisиз окружающего контекста
javascript
const obj = {
foo: () => console.log(this) // window (берет из внешней области)
};Приоритет правил: new > явное указание > метод объекта > простой вызов.

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