JavaScript - Acquérir les fondamentaux (1/2)
Chapitre 4 - Les pièges du langage JavaScript - Comprendre le Hoisting

Notion de "Hoisting"

Plan de formation

Qu'est ce que le hoisting (traduction : une remontée)?

En JavaScript, les déclarations de variables sont traitées avant tout.

a = 2;
var a;

// est strictement équivalent à 

var a;
a = 2;

Le hoisting et la déclaration de variable

Le hoisting et l'initialisation de variable

Contrairement à la déclaration, l'initialisation ne remonte pas.

var a = 2; // Déclaration et initialisation de a
console.log(a + b);
var b = 3; // Déclaration et initialisation de b

NaN ! (Not a Number)
b est bien déclarée (par hoisting) mais n'est pas initialisé. Donc Undefined.

Important :
C'est pourquoi il est important de déclarer et initialiser les variables en début de code.