Skip to content

Déclaration de variable

Pour fonctionner, un programme doit garder en mémoire des valeurs : elles sont stockées dans des variables. Il existe 3 façons de déclarer une variable : avec le mot-clé var, et, depuis ES6, avec les mots-clés let et const.

Pour faire simple, on va toujours utiliser const. Si vous voulez vraiment connaître les différences :

Une variable déclarée avec le mot-clé var aura pour scope la fonction, et sera accessible avant sa déclaration dans le code (mais sa valeur avant initialisation sera forcément la valeur undefined).

Une variable déclarée avec les mots-clés let ou const aura pour scope le bloc d'instruction dans lequel elle est déclarée : un ensemble d'instructions séparées par des accolades { et }. Ces variables ne seront pas accessibles avant leur déclaration, contrairement à celle déclarée avec var.

La différence entre let et const est qu'une variable déclarée avec const ne peut pas être réassignée :

js
console.log(first) // undefined
let first
console.log(first) // undefined
first = null
console.log(first) // null

console.log(firstBis) // undefined
var firstBis = 'bis'
console.log(firstBis) // 'bis

// Illustration de la TDZ

// console.log(second) // Provoquerait une erreur ReferenceError : on est ici dans la TDZ de second!
let second
console.log(second) // undefined
second = 'two'
console.log(second) // 'two'
second = 2
console.log(second) // 2

// console.log(third) // Provoquerait une erreur ReferenceError : on est ici dans la TDZ de third !
const third = 3
console.log(second) // '3'
third = 4 // TypeError : on ne peut pas réassigner une variable déclarée avec const
third++ // TypeError : l'incrémentation correspond aussi à une réassignation