> Что такое контекст (this) в JavaScript (JavaScript)
Уровень: junior · Роль: frontend · Категория: Технические вопросы
Компании: YADRO, Garage Eight, циан, Soft_Media_Group, VK, Инити, Aston, Kaspersky, Centicore, IT-One, EdenAI, Сбер, TYMY, HolyWeb, Purrweb, ООО Снэп АйТи
Стек: JavaScript
> Пример ответа
Контекст (this) в JavaScript - это ссылка на объект, который «владеет» выполняемой в данный момент функцией. Значение this определяется не местом объявления функции, а способом её вызова. Основные правила:
-
Глобальный контекст: в браузере
thisуказывает на объектwindow(в строгом режиме -undefined). -
Метод объекта: при вызове через точку (
obj.method())thisссылается на объект слева от точки. -
Обычная функция: в нестрогом режиме
this- глобальный объект, в строгом -undefined. -
Конструктор: при вызове с
newthisуказывает на новый создаваемый экземпляр. -
Явная привязка: методы
call,apply,bindпозволяют задатьthisвручную. -
Стрелочные функции: не имеют собственного
this- они наследуют его из внешнего лексического окружения.
Пример:
JAVASCRIPTconst obj = {name: 'Alice',greet() {console.log(this.name); // this = obj}};obj.greet(); // 'Alice'const greet = obj.greet;greet(); // undefined (this = window/global)
> Похожие задачи по frontend
Как реализовать в HTTP заголовках сервис, который принимает JSON и отвечает текстом
Что такое event loop в JavaScript и как он работает с микрозадачами и макрозадачами
Что такое каррирование
В чем разница между var, const и let в JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью