Встречается на собеседованиях • сегодня
Когда происходит потеря контекста
Потеря контекста this происходит, когда функция вызывается не в том контексте, в котором ожидалось. Чаще всего это случается:
- При передаче метода объекта как колбэка:
js
const user = {
name: 'Alex',
greet() {
console.log(`Hello, ${this.name}`);
}
};
setTimeout(user.greet, 1000); // Hello, undefined
text
2. При использовании функций внутри функций:
```js
const obj = {
data: 'test',
method() {
function inner() {
console.log(this.data); // undefined
}
inner();
}
};- При присвоении метода переменной:
js
const method = user.greet;
method(); // Hello, undefinedРешения:
- Использовать стрелочные функции (сохраняют контекст)
- Явно привязывать контекст через
bind() - Передавать функцию-обёртку, сохраняющую контекст

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