Sofiane Boumedine Lexique Dev

Hoisting

JavaScript 🟢 Junior

Type : 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 d'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.

coreinterview-question