Hoisting
El hoisting es el comportamiento de JavaScript de mover las declaraciones de variables y funciones al inicio de su ámbito; las declaraciones var y function se elevan.
Propósito
Entender el comportamiento de elevación de las declaraciones de variables y funciones en JS, evitando referencias a variables no inicializadas.
Mecanismo
Las declaraciones var se elevan pero sus asignaciones no (el valor es undefined). Las declaraciones function se elevan por completo (utilizables). Las declaraciones let/const se elevan pero entran en la zona muerta temporal (TDZ) y lanzan un error si se accede antes de inicializar.
Casos de uso
- Comprensión de JavaScript
- Depuración
- Estilo de código