Undefined , null and is not defined :

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

Les types primitifs et les objets :

Primitif = boolean , string, undefined, null etc

Les types primitifs sont copiés PAR VALEUR !! Les objets sont copiés PAR REFERENCE !!

LET ou CONST ?

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 :

  1. Ne plus utiliser le VAR
  2. Toujours utiliser le CONST
  3. Si je dois ré-assigner une valeur a une variable , la modifier en LET