Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.
Функция — это объект? Чем отличается обычная функция от стрелочной в контексте прототипов?
Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.
Не всякая обычная функция конструктивна: методы, например, отличаются от function declaration. У стрелки есть внутренний прототип как у объекта-функции, но нет собственного prototype для создаваемых экземпляров. Также стрелка использует лексические this и arguments.