let

Déclare une variable à portée de bloc, dont la valeur peut être modifiée plus tard.

Sur cette page

Exemple

#
JavaScript
let level = 1
let points = 0

points += 120
if (points >= 100) {
  level = 2
}

console.log(level, points)
Console
2 120

Définition et utilisation

#

Le mot-clé let crée une variable dont vous pouvez écraser la valeur pendant l’exécution du programme. Il convient aux compteurs, aux sommes, aux drapeaux et à tout ce qui change étape par étape.

Une variable déclarée avec let ne vit que dans le bloc où vous l’avez déclarée, c’est-à-dire entre les accolades { } les plus proches. En dehors d’un bloc if, d’une boucle ou d’une fonction, elle n’existe simplement pas, donc vous n’écraserez pas par accident une variable du même nom venant d’une autre partie du code.

Vous ne pouvez pas utiliser une variable avant la ligne qui la déclare. Cette portion de code s’appelle la zone morte temporelle (TDZ), et toute tentative de lecture y déclenche une erreur ReferenceError. Vous ne pouvez pas non plus déclarer deux fois une variable du même nom dans un même bloc.

Syntaxe

#
Syntaxe
let name
let name = value
let name1 = value1, name2 = value2

Plus d’exemples

#
Portée de bloc
JavaScript
let message = 'en dehors du bloc'

if (true) {
  let message = 'à l’intérieur du bloc'
  console.log(message)
}

console.log(message)
Console
à l’intérieur du bloc
en dehors du bloc
Zone morte temporelle (TDZ)
JavaScript
try {
  console.log(score)
} catch (error) {
  console.log(error.name)
}

let score = 50
console.log(score)
Console
ReferenceError
50
Chaque tour de boucle a sa propre variable
JavaScript
const callbacks = []

for (let i = 0; i < 3; i++) {
  callbacks.push(() => i)
}

console.log(callbacks.map((callback) => callback()))
Console
[0, 1, 2]

Si le compteur était déclaré avec var, toutes les fonctions partageraient une seule variable et renverraient 3.

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Commencez par const. Passez à let seulement quand une variable doit vraiment recevoir une nouvelle valeur, par exemple comme compteur ou comme somme.
  • Déclarez une variable le plus près possible de l’endroit où vous l’utilisez. Plus la portée est petite, moins il y a d’endroits où quelque chose peut l’écraser.
  • Pour changer une valeur, écrivez simplement l’affectation elle-même, points = 10. Réécrire let points dans le même bloc est une erreur de syntaxe.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.