> Что содержит this в обработчике события на кнопку в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Exness

Стек: JavaScript

> Пример ответа

Значение this внутри обработчика события на кнопку зависит от того, как именно назначен обработчик.

  1. Через атрибут HTML (onclick="...") - this ссылается на DOM-элемент кнопки (глобальный объект в строгом режиме, но на практике - элемент).
  2. Через свойство DOM (button.onclick = function) - this указывает на саму кнопку (элемент, на котором вызван обработчик).
  3. Через addEventListener - this также равен элементу, на котором вызван обработчик (если функция не стрелочная).
  4. Стрелочная функция - this не привязывается к кнопке, а берется из окружающего контекста (например, из внешней функции или глобального объекта).

Пример:

JAVASCRIPT
button.addEventListener('click', function() {
console.log(this); // <button>...</button>
});
button.addEventListener('click', () => {
console.log(this); // window (или undefined в strict mode)
});

Таким образом, в классическом обработчике this - это кнопка, если не используется стрелочная функция.

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

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