Junior
Qu'est-ce que la portée (scope) des variables en JavaScript ?
sobes.tech IA
Réponse de l'IA
La portée détermine la disponibilité des variables, fonctions et objets dans une partie spécifique du code.
En JavaScript, il existe plusieurs types de portée :
- Portée globale (Global Scope) : Les variables déclarées en dehors de toute fonction ou bloc sont accessibles depuis n'importe quelle partie du code.
- Portée de fonction (Function Scope) : Les variables déclarées à l'intérieur d'une fonction (avant ES6) ne sont accessibles qu'à l'intérieur de cette fonction et des fonctions imbriquées.
- Portée de bloc (Block Scope) : Les variables déclarées avec
letetconstà l'intérieur de blocs (par exemple,{}ou boucles) ne sont accessibles qu'à l'intérieur de ce bloc.
Exemple :
// Portée globale
let globalVar = "Je suis global";
function someFunction() {
// Portée de fonction (avant ES6)
var functionVar = "Je suis à l'intérieur de la fonction";
console.log(globalVar); // Variable globale accessible
if (true) {
// Portée de bloc (pour let et const)
let blockVar = "Je suis à l'intérieur du bloc";
console.log(functionVar); // Variable de fonction accessible
console.log(blockVar); // Variable de bloc accessible
}
// console.log(blockVar); // Erreur : blockVar n'est pas accessible ici
}
someFunction();
// console.log(functionVar); // Erreur : functionVar n'est pas accessible ici
Mots-clés pour déclarer des variables et leur influence sur la portée :
| Mot-clé | Portée avant ES6 | Portée après ES6 |
|---|---|---|
var |
Fonctionnelle | Fonctionnelle |
let |
- | De bloc |
const |
- | De bloc |
Comprendre la portée est essentiel pour éviter les conflits de noms de variables et pour écrire un code propre et prévisible.