Have you ever won a perfect bullet game?
Este termino es un tema que me ha costado trabajo asimilar. De acuerdo con el curso básico de javascript que tomé en platzi:
Hoisting es un término para describir que las declaraciones de variables y funciones son desplazadas a la parte superior del scope más cercano, scope global o de función. Esto sucede solamente con var y function .
Además de que esto ya no sucede con Ecmascript 6 sino con las versiones anteriores.
¿Qué me da a entender esto?
Pues que al declarar una variable o una función declarativa después de ser usadas (invocadas) en el código, el motor de javascript lo que hace es declararlas antes de ejecutar el código linea por linea. O en otras palabras desplazarlas a la parte superior del scope más cercano.