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

Как определить чем является this

this в JavaScript определяется контекстом вызова функции. Основные случаи:

  1. Глобальный контекст: в нестрогом режиме this ссылается на window, в строгом ('use strict') - undefined.
js
function test() {
  console.log(this); // window (или undefined в strict mode)
}
  1. Метод объекта: this ссылается на объект, которому принадлежит метод.
js
const obj = {
  name: 'Test',
  logName() {
    console.log(this.name); // 'Test'
  }
};
  1. Конструктор: this ссылается на создаваемый экземпляр.
js
function Person(name) {
  this.name = name;
}
const user = new Person('Alex');
  1. Явная привязка: с помощью call(), apply() или bind().
js
function greet() {
  console.log(this.name);
}
greet.call({name: 'John'}); // 'John'
  1. Стрелочные функции: не имеют своего this, берут его из внешнего контекста.
js
const obj = {
  name: 'Test',
  logName: () => console.log(this.name) // undefined (берет window)
};
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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