Встречается на собеседованиях • сегодня
Откуда формируется контекст у функции
Контекст функции (this) определяется в момент её вызова и зависит от способа вызова:
- Простой вызов:
thisбудетundefined(strict mode) или глобальный объект (не strict mode)
js
function foo() { console.log(this) }
foo() // window (браузер) или global (Node)- Метод объекта:
this- объект перед точкой
js
obj.method() // this = obj- Явное указание: через
call,apply,bind
js
func.call(context, args) // this = context- Конструктор:
this- новый созданный объект
js
new Foo() // this = новый экземпляр- Стрелочные функции: не имеют своего
this, берут из внешнего контекста
js
const arrow = () => console.log(this)
arrow() // this как в родительской областиКонтекст можно потерять, например при передаче метода как коллбэка. Фиксируется через bind или стрелочные функции.

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