Function declarations доступны до строки объявления; var заранее инициализируется undefined, а let, const и class имеют временную мёртвую зону.
Какие объявления всплывают в JavaScript и как именно?
Function declarations доступны до строки объявления; var заранее инициализируется undefined, а let, const и class имеют временную мёртвую зону.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Function declarations доступны до строки объявления; var заранее инициализируется undefined, а let, const и class имеют временную мёртвую зону.
До инициализации обращение к let/const/class вызывает ReferenceError. У function expression поведение зависит от переменной, в которую она записана. «Всплытие» не означает физическое перемещение кода; особенности блочных функций зависят от контекста и строгого режима.