Обычные function declaration и function expression могут быть конструкторами; стрелочные функции — нет.
Какой из способов объявления функции можно использовать как конструктор?
Обычные function declaration и function expression могут быть конструкторами; стрелочные функции — нет.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычные function declaration и function expression могут быть конструкторами; стрелочные функции — нет.
Например, new function User() {} допустимо, а new (() => {}) вызывает ошибку. Методы краткого синтаксиса, async-функции и генераторы также не являются конструкторами. Классы вызываются через new, хотя синтаксически это отдельный способ объявления.