Встречается на собеседованиях • сегодня

Как работает контекст в функции

Контекст (this) в функции определяется в момент её вызова. Он зависит от способа вызова:

  1. Простой вызов: this будет undefined (strict mode) или глобальный объект (не strict mode)
javascript
function showThis() { console.log(this); }
showThis(); // undefined (в strict mode)
  1. Метод объекта: this ссылается на объект перед точкой
javascript
const obj = {
  name: 'Test',
  showThis() { console.log(this.name); }
};
obj.showThis(); // 'Test'
  1. Явное указание: call, apply, bind задают контекст явно
javascript
function greet() { console.log(`Hello, ${this.name}`); }
greet.call({name: 'Alice'}); // Hello, Alice
  1. Стрелочные функции: не имеют своего this, берут его из внешнего контекста
javascript
const obj = {
  name: 'Bob',
  greet: () => console.log(this.name) // undefined (берет window/global)
};

Контекст можно потерять, например при передаче метода как колбэка. Для фиксации используют bind или стрелочные функции.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы