Встречается на собеседованиях • сегодня
В каком случае функция может изменить свой контекст
Функция может изменить контекст (this) в следующих случаях:
-
Явное указание контекста:
call(),apply(),bind()
javascriptfunction greet() { console.log(this.name); } greet.call({ name: 'Alice' }); // Alice -
Вызов как метода объекта:
Контекст — сам объект.javascriptconst obj = { name: 'Bob', greet }; obj.greet(); // Bob
-
Конструктор (
new):
Контекст — новый созданный объект.javascriptnew greet(); // this = новый экземпляр -
Стрелочные функции:
Не имеют своегоthis, берут его из внешней области.javascriptconst arrow = () => console.log(this); arrow.call({}); // window (если не strict mode) -
Потеря контекста:
При передаче метода как колбэка.javascriptsetTimeout(obj.greet, 100); // undefined (контекст потерян)

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