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

От чего зависит this в функции

this в JavaScript зависит от контекста вызова функции. Основные случаи:

  1. Глобальный контекст (нестрогий режим): this ссылается на window (в браузере)
javascript
function example() { console.log(this); } // window
  1. Метод объекта: this ссылается на объект перед точкой
javascript
const obj = {
  method() { console.log(this); }
};
obj.method(); // obj
  1. Через new: this ссылается на новый созданный экземпляр
javascript
function Constructor() { console.log(this); }
new Constructor(); // новый объект
  1. Явное указание: через call, apply, bind
javascript
function fn() { console.log(this); }
fn.call({ custom: 'context' }); // { custom: 'context' }
  1. Стрелочные функции: this берется из окружающего контекста (лексически)
javascript
const arrow = () => console.log(this);
arrow(); // берет this из внешней области

В строгом режиме ('use strict') глобальный this будет undefined.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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