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

У всех ли функций есть контекст

Да, у всех функций в JavaScript есть контекст выполнения (this), но его значение зависит от способа вызова функции:

  1. Обычный вызовthis ссылается на глобальный объект (window в браузере, global в Node.js), либо undefined в строгом режиме ("use strict").
  2. Метод объектаthis ссылается на объект, которому принадлежит метод.
  3. call, apply, bindthis явно задаётся первым аргументом.
  4. Стрелочные функции — не имеют собственного this, берут его из внешней области.

Пример:

javascript
function showThis() {
  console.log(this);
}

const obj = {
  method: showThis
};

showThis();         // window/undefined (зависит от режима)
obj.method();       // obj
showThis.call(42);  // Number {42}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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