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

Из чего берется контекст у функции

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

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

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

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

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