Salut, c'est Mathias je suis développeur web freelance et j'écris des tutoriels à propos des technologies Javascript, de la JAMSTACK et d'autres trucs.

© 2019 Mathias Béraud

Comment déclarer en Javascript? const, let ou var?

Quelle est la meilleure manière de déclarer ses variable en Javascript?

Publié le 21 oct. 2019

Depuis ES2015 il y a 3 manières de déclarer une variable et de lui assigner une valeur :

  • const

  • let

  • var

La plupart du temps on préfèrera utiliser const, on a ainsi la garantie que la valeur ne peut être assignée qu'une fois et c'est donc plus sûr.

Cependant, si la valeur a vocation à changer on préfèrera presque toujours let.

Même si var peut encore être utiliser c'est fortement déconseillé si l'on veut un programme robuste et limiter les mauvaises surprises. Après tout var est surtout là pour des questions de rétrocompatibilité et l'idée avec ES2015 était bien de le remplacer par let.

Mais quelle est la différence?

La première différence, c'est le scope. Là où le scope de let sera le block le plus proche, comme la plupart des languages populaires, pour var ça sera la fonction la plus proche.

Par exemple une variable déclarée avec let dans un if ou un for loop sera locale à ceux-ci alors qu'avec var elle pourra être accessible à l'extérieur du block, ce qui pourrait causer des bugs.

Il faut toujours utiliser l'outil le moins puissant afin d'avoir un maximum de contrôle sur son code.

Un autre différence c'est qu'une déclaration avec var hors d'une fonction crée une variable globale rattachée à l'objet global (window) et peut être utiliser depuis l'extérieur de vos fichiers. Avec let la variable est accessible mais n'est pas rattachée à l'objet global et ne peut donc pas être utilisée depuis l'extérieur.

Enfin let renvoit une erreur si 2 variable du même nom sont déclarées en mode Strict, ce qui peut toujours nous éviter des erreurs idiotes.