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