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

Как this попадает в функцию

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

  1. Простой вызов - this будет undefined (strict mode) или глобальный объект (не strict mode)
js
function foo() { console.log(this) }
foo() // window (или undefined в strict mode)
  1. Метод объекта - this ссылается на объект перед точкой
js
const obj = {
  method() { console.log(this) }
}
obj.method() // obj
  1. Явное указание через call/apply/bind:
js
function bar() { console.log(this) }
bar.call({x: 1}) // {x: 1}
  1. Конструкторnew) - this ссылается на новый созданный объект
js
function Baz() { this.x = 1 }
new Baz() // {x: 1}
  1. Стрелочные функции - берут this из окружающего контекста (лексический this)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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