Hoisting
JavaScript 🟢 JuniorType : Concept
Definition
Le hoisting est le mecanisme par lequel les declarations de variables (var) et de fonctions sont "remontees" en haut de leur scope avant l'execution. Seule la declaration est remontee, pas l'initialisation.
Analogie
Avant un cours, le prof ecrit la liste des eleves au tableau (declarations), mais ne sait pas encore leurs notes (valeurs).
Exemple de code
console.log(x); class="cmt">// undefined (pas d39;erreur)
var x = 5;
sayHi(); class="cmt">// class="str">"Hi!" (fonction remontee)
function sayHi() { console.log(class="str">"Hi!"); }Cas d'usage
Comprendre pourquoi une variable var vaut undefined avant son assignation, ou pourquoi on peut appeler une function declaration avant sa definition.