Какие виды объявления функций в JavaScript вы знаете и чем они отличаются с точки зрения hoisting?

Function declaration обычно доступна до своей строки в области объявления, а function expression и стрелка следуют правилам переменной, которой присвоены.

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

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

Function declaration обычно доступна до своей строки в области объявления, а function expression и стрелка следуют правилам переменной, которой присвоены.

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

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

Function declaration обычно доступна до своей строки в области объявления, а function expression и стрелка следуют правилам переменной, которой присвоены.

Для var до присваивания будет undefined и вызов даст TypeError; let/const до инициализации дадут ReferenceError. Также существуют методы объектов, async- и generator-функции. У стрелок нет собственного this и arguments; hoisting не означает перемещение исходного текста.

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

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

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

Подробнее