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

Что такое потеря контекста

Потеря контекста (this) происходит, когда функция вызывается не в том контексте, в котором ожидалось. Чаще всего это случается при передаче методов объекта как колбэков или при использовании вложенных функций.

javascript
const user = {
  name: 'Alex',
  greet() {
    console.log(`Hello, ${this.name}`);
  }
};

// Потеря контекста - this будет undefined
setTimeout(user.greet, 1000); 

// Решения:
// 1. Привязать контекст
setTimeout(user.greet.bind(user), 1000);

// 2. Использовать стрелочную функцию
setTimeout(() => user.greet(), 1000);

Стрелочные функции не имеют своего this и берут его из внешнего контекста, поэтому часто используются для избежания потери контекста.

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

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

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

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