let
Déclare une variable à portée de bloc, dont la valeur peut être modifiée plus tard.
Exemple
#let level = 1
let points = 0
points += 120
if (points >= 100) {
level = 2
}
console.log(level, points)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
#let name
let name = value
let name1 = value1, name2 = value2Plus d’exemples
#let message = 'en dehors du bloc'
if (true) {
let message = 'à l’intérieur du bloc'
console.log(message)
}
console.log(message)try {
console.log(score)
} catch (error) {
console.log(error.name)
}
let score = 50
console.log(score)const callbacks = []
for (let i = 0; i < 3; i++) {
callbacks.push(() => i)
}
console.log(callbacks.map((callback) => callback()))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 àletseulement 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éécrirelet pointsdans le même bloc est une erreur de syntaxe.
Entrées associées
#- let vs const vs varconst et let ont une portée de bloc, var une portée de fonction, et const interdit la réaffectation. Écrivez const par défaut, let pour les valeurs qui changent.
- constDéclare une constante à portée de bloc. Une telle variable ne peut pas recevoir une nouvelle valeur.
- varDéclare une variable à portée de fonction. C’est l’ancienne façon, remplacée aujourd’hui par let et const.
- if...elseExécute un bloc de code seulement si une condition est vraie, et sinon un bloc else optionnel.
- forUne boucle avec compteur : initialisation, condition et étape. Répète un bloc de code tant que la condition est vraie.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.