48. Scope 102 : Portée de bloc
La portée de bloc est un concept introduit avec let et const dans ES6, qui a considérablement amélioré les règles de portée de JavaScript.
Qu'est-ce qu'un bloc ?
Un bloc est défini par n'importe quel ensemble d'accolades {} (ex : à l'intérieur des instructions if, des boucles for, ou juste des accolades isolées).
Les variables déclarées avec let ou const sont limitées au bloc englobant le plus proche.
La portée de bloc en pratique
javascript let globalCount = 1;
if (true) { let blockCount = 5; // Limité à ce bloc if var varCount = 10; // Portée de fonction (ou globale si hors fonction)
console.log(globalCount); // OK : Peut accéder aux portées parentes
console.log(blockCount); // OK
}
// console.log(blockCount); // ERREUR : blockCount n'est pas défini hors du bloc.
console.log(varCount); // OK : var « fuit » hors du bloc. (Évitez d'utiliser var !)
Résumé : Utilisez toujours let et const pour imposer une portée de bloc prévisible, ce qui est essentiel pour écrire un code robuste.