Const

const est similaire à let, la différence est que l'on ne peut pas changer le contenu d'origine.

ExempleContenu unique

Une variable const ne peut pas être assignée deux fois dans la même portée.

1
const a=5;
2
a=6; // Assignment to constant variable

a a déjà un contenu

Une erreur est déclenchée -> Assignment to constant variable

ExempleContenu obligatoire

Il faut forcement assigner une variable const au moment de sa déclaration.

1
const a; // Missing initializer in const declaration
2
a=5;

a n'a pas de contenu.

Une erreur est déclenchée -> Missing initializer in const declaration

AttentionAssigner différent de modifier

On ne peut pas assigner deux fois une variable const, mais on peut la modifier par exemple dans le cas d'un tableau ou d'un objet (un tableau est un objet particulier).

Quand on assigne un objet, on affecte à la variable l'emplacement mémoire ou il se situe. C'est pourquoi, lorsque vous modifiez un objet vous ne modifiez pas son emplacement (mais son contenu) donc pas la constante.

1
const tab = [];
2
tab[1]=3;
3
tab[1]=2;
4
const obj = {toto:'titi'};
5
obj.toto = 'tata';
6
obj.tutu = 'tete';

ConseilEn conclusion

En conclusion, si vous avez une variable qui ne doit être assignée qu'une seule fois, utilisez const.

Sinon, si vous ne voulez pas vous empêcher de modifier le contenu de votre variable, utilisez let.

Quand à var il ne lui reste que quelques cas particulier où il ne peut être remplacé par let ou const.

ComplémentCas particulier

Dans la portée principal var ajoute la variable à l'objet Global (window sur navigateur) pas let ni const.

1
var a = 3;
2
let b = 5;
3
const c = 7;
4
window.console.log(window.a); // 3
5
window.console.log(window.b); // undefined
6
window.console.log(window.c); // undefined
7