Почему со стрелочными функциями нельзя работать с конструктором new?

В JavaScript стрелочные функции не могут использоваться как конструкторы, то есть их нельзя вызывать с оператором new.

Короткий ответ

Что ответить на собеседовании

В JavaScript стрелочные функции не могут использоваться как конструкторы, то есть их нельзя вызывать с оператором new. Если попытаться сделать new с стрелочной функцией, будет выброшена ошибка типа TypeError: arrow functions cannot be used as constructors.

Подробный разбор

Ответ с пояснениями

В JavaScript стрелочные функции не могут использоваться как конструкторы, то есть их нельзя вызывать с оператором new. Если попытаться сделать new с стрелочной функцией, будет выброшена ошибка типа TypeError: arrow functions cannot be used as constructors.

Пример:

const arrowFunc = () => {};

new arrowFunc(); // TypeError

Поэтому данный кусок кода при вызове стрелочной функции через new вернёт ошибку и выполнение остановится.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее