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

Чем будет отличаться this у function declaration и function expression

В function declaration и function expression поведение this одинаково - оно определяется в момент вызова функции. Однако есть нюансы:

  1. В строгом режиме ('use strict') this будет undefined у обоих типов функций, если вызываются без контекста.
  1. В нестрогом режиме при вызове без контекста this будет ссылаться на глобальный объект (window в браузере).

Пример:

javascript
function funcDecl() {
  console.log(this); // window (или undefined в strict mode)
}

const funcExpr = function() {
  console.log(this); // window (или undefined в strict mode)
};

funcDecl(); 
funcExpr();

Разница между ними только в hoisting'е и месте объявления, но не в поведении this.

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

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

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

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