Встречается на собеседованиях • сегодня

Какой this у обычной функции

this в обычной функции определяется в момент её вызова и зависит от контекста:

  1. Простой вызов (не метод объекта) – this будет window (в браузере) или undefined (в strict mode)
js
function showThis() {
  console.log(this);
}
showThis(); // window или undefined
  1. Метод объектаthis ссылается на объект перед точкой
js
const obj = {
  name: 'Test',
  logThis() {
    console.log(this); // {name: 'Test', logThis: ƒ}
  }
};
obj.logThis();
  1. Явное указание через call/apply/bind
js
function greet() {
  console.log(this.name);
}
greet.call({name: 'Alice'}); // 'Alice'
  1. Обработчик событияthis будет элемент, на котором сработало событие
js
button.addEventListener('click', function() {
  console.log(this); // button element
});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы