Undefined = une variable existe, mais elle n'a pas de valeur
Null = manuellement dans le code quand on veux supprimer la valeur qu'un objet a pu recevoir
Is not defined = quand on essaye d'appeler une variable qui n'existe pas
Primitif = boolean , string, undefined, null etc
Les types primitifs sont copiés PAR VALEUR !! Les objets sont copiés PAR REFERENCE !!
Quand on utilise un CONST on est obligé de lui donner une valeur, on ne peut pas ecrire :
const x;
x = 5;
CONST ne peux avoir qu'une seule valeur , ceci ne marchera pas :
const x = 5;
x = 7;
!! LE HOISTING NE FONCTIONNE PAS AVEC LET ET CONST !!
Quelques règles :