Встречается на собеседованиях • сегодня
Почему this непонятен в JavaScript
В JavaScript this зависит от контекста вызова функции. Его значение определяется не местом объявления функции, а тем, как она вызывается. Основные случаи:
- Глобальный контекст:
thisссылается наwindow(в браузере) - Метод объекта:
this- сам объект - Конструктор:
this- новый экземпляр - Стрелочные функции: берут
thisиз внешнего контекста - Явная привязка:
call,apply,bindзадаютthisявно
Пример:
javascript
const obj = {
name: 'Test',
regularFunc() {
console.log(this.name); // 'Test'
},
arrowFunc: () => {
console.log(this.name); // undefined (берет window)
}
};Стрелочные функции не имеют своего this, что часто вызывает путаницу. Для явного управления контекстом используют bind или сохраняют this в переменную (например, const self = this).

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