Deklaracje funkcji i var są hoistowane, ale inicjalizacje już nie. let/const też są hoistowane, ale do inicjalizacji są w tzw. temporal dead zone.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (szablon do wyjaśniania):
// Example: discuss trade-offs for "wyjaśnij-hoisting-w-javascript.-co-jest-hoistowa"
function explain() {
// Start from the core idea:
// Deklaracje funkcji i var są hoistowane, ale inicjalizacje już nie. let/const też są hoisto
}