Функция — это объект? Чем отличается обычная функция от стрелочной в контексте прототипов?

Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.

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

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

Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.

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

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

Функции JavaScript являются вызываемыми объектами; обычная функция-конструктор имеет prototype, а стрелочная не может вызываться через new.

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

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

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

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

Подробнее