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

Как при написании this понимаешь что будет нужный объект

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

  1. Простой вызов функции - this будет window (или undefined в strict mode)
js
function foo() { console.log(this) }
foo() // window/undefined
  1. Метод объекта - this ссылается на объект перед точкой
js
const obj = {
  name: 'Test',
  logName() { console.log(this.name) }
}
obj.logName() // 'Test'
  1. Явное указание через call/apply/bind
js
function greet() { console.log(this.name) }
greet.call({name: 'Alice'}) // 'Alice'
  1. Конструктор (new) - this ссылается на новый созданный объект
js
function Person(name) {
  this.name = name
}
const p = new Person('Bob')
  1. Стрелочные функции - не имеют своего this, берут из внешнего контекста

Для уверенности можно:

  • Использовать стрелочные функции для сохранения контекста
  • Явно привязывать контекст через bind
  • Использовать современный синтаксис полей класса (автопривязка)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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