> Что такое контекст (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 определяется не местом объявления функции, а способом её вызова. Основные правила:

  1. Глобальный контекст: в браузере this указывает на объект window (в строгом режиме - undefined).

  2. Метод объекта: при вызове через точку (obj.method()) this ссылается на объект слева от точки.

  3. Обычная функция: в нестрогом режиме this - глобальный объект, в строгом - undefined.

  4. Конструктор: при вызове с new this указывает на новый создаваемый экземпляр.

  5. Явная привязка: методы call, apply, bind позволяют задать this вручную.

  6. Стрелочные функции: не имеют собственного this - они наследуют его из внешнего лексического окружения.

Пример:

JAVASCRIPT
const obj = {
name: 'Alice',
greet() {
console.log(this.name); // this = obj
}
};
obj.greet(); // 'Alice'
const greet = obj.greet;
greet(); // undefined (this = window/global)

> Похожие задачи по frontend

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью