← К глоссарию
Hoisting
Объявления функций и переменных обрабатываются до выполнения строки. Для let/const существует TDZ, поэтому обращаться к ним до инициализации нельзя.
Почему это важно
Hoisting помогает объяснить, почему код иногда работает "до объявления", а иногда падает в TDZ.
Примеры
- function declaration доступна до строки объявления
- let/const в TDZ
Как объяснить на собеседовании
Hoisting — это этап, где объявления подготавливаются до исполнения, но let/const остаются в TDZ до инициализации.
Частая ошибка
Считать, что let/const полностью ведут себя как function declaration.
Где встречается на практике
- Инициализация модулей
- Порядок объявления функций
- Отладка ReferenceError