Этот вопрос проверяет понимание механизма this и управления контекстом выполнения функций.
В JavaScript контекст функции можно привязывать разными способами.
Основные способы — bind, call и apply.
Также контекст зависит от способа вызова функции.
Стрелочные функции имеют особое поведение this.
Контекст выполнения (this) в JavaScript определяется не местом объявления функции, а способом её вызова.
Контекст функции — это значение this, доступное внутри тела функции.
JavaScript предоставляет методы:
call — вызывает функцию с заданным this и аргументами
apply — аналогичен call, но принимает массив аргументов
bind — возвращает новую функцию с привязанным this
function greet() {
console.log(this.name);
}
const user = { name: 'Alex' };
greet.call(user);
Контекст зависит от формы вызова:
метод объекта → this указывает на объект
обычный вызов → undefined (в strict mode)
У стрелочных функций:
нет собственного this
this берётся из внешней области видимости
Это удобно для колбэков и обработчиков.
Проблемы с this часто появляются:
при передаче методов как колбэков
в обработчиках событий
при работе с таймерами
Контекст в JavaScript управляется способом вызова функции. Явная привязка и стрелочные функции помогают избежать ошибок с this.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию