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

Почему нельзя использовать стрелочную функцию в качестве конструктора

Стрелочные функции не могут быть конструкторами, потому что у них нет собственного контекста this и свойства prototype. В отличие от обычных функций, this в стрелочной функции всегда привязан к лексическому окружению, где она была создана.

Пример:

javascript
const Person = (name) => {
  this.name = name; // Ошибка: стрелочная функция не может быть конструктором
};

const p = new Person('Alex'); // TypeError: Person is not a constructor

Обычная функция-конструктор:

javascript
function Person(name) {
  this.name = name;
}
const p = new Person('Alex'); // Работает

Стрелочные функции созданы для краткости и сохранения контекста, а не для работы с new.

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

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

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

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