Декларации функций доступны до строки объявления. Let, const и class тоже создают привязки заранее, но доступ до инициализации ограничен temporal dead zone.
Какие сущности в JavaScript подвержены hoisting, помимо var?
Декларации функций доступны до строки объявления. Let, const и class тоже создают привязки заранее, но доступ до инициализации ограничен temporal dead zone.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Декларации функций доступны до строки объявления. Let, const и class тоже создают привязки заранее, но доступ до инициализации ограничен temporal dead zone.
Function expression не становится вызываемой раньше присваивания только потому, что записана в var. Импорты обрабатываются на уровне модулей, а циклические зависимости могут приводить к доступу до инициализации. Hoisting — объяснительный термин, а не буквальное перемещение строк исходного кода.