Встречается на собеседованиях • сегодня
Какие знаешь проблемы у this в JavaScript
В JavaScript `this` может вызывать проблемы из-за динамического контекста:
1. **Потеря контекста** в колбэках:
```javascript
const obj = {
name: 'Test',
logName() {
console.log(this.name);
}
};
setTimeout(obj.logName, 100); // undefined
```
2. **Разный контекст** в строгом (`'use strict'`) и нестрогом режиме:
- В нестрогом режиме `this` в функции без контекста = `window`
- В строгом режиме = `undefined`
3. **Методы как пропсы** в React могут терять контекст:
```jsx
// без bind потеряет this
```
4. **Стрелочные функции** не имеют своего `this`, берут из внешнего контекста, что может быть неожиданным.
Решения:
- Использовать `bind()`
- Стрелочные функции
- Сохранение контекста в переменную (`const self = this`)

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