Встречается на собеседованиях • сегодня
Как изменяется this в зависимости от того как вызывается функция
Значение this определяется контекстом вызова функции:
- Обычный вызов:
thisссылается на глобальный объект (windowв браузере,globalв Node.js), либоundefinedв строгом режиме ('use strict').
javascript
function showThis() {
console.log(this);
}
showThis(); // window или undefined (strict mode)- Метод объекта:
thisссылается на объект, которому принадлежит метод.
javascript
const obj = {
name: 'Test',
logThis() {
console.log(this);
}
};
obj.logThis(); // {name: 'Test', logThis: ƒ}- Явное указание:
call,apply,bindпозволяют явно задатьthis.
javascript
function greet() {
console.log(`Hello, ${this.name}`);
}
const user = { name: 'Alice' };
greet.call(user); // Hello, Alice- Конструктор:
thisссылается на новый созданный объект.
javascript
function Person(name) {
this.name = name;
}
const person = new Person('Bob');- Стрелочные функции:
thisберется из внешнего лексического контекста и не изменяется.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы