Portées
Glissez pour afficher le menu
Une portée est simplement une zone dans le code où une variable peut être accédée ou utilisée.
Il existe deux types de portées :
- Portée globale ;
- Portée locale.
Si une variable est définie à l'intérieur d'un bloc de code (entre accolades {}), on dit qu'elle a une portée locale. Cela signifie qu'elle ne peut être accédée qu'à l'intérieur de cette fonction ou de ce bloc de code, ou de tout bloc imbriqué :
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
Une variable définie en dehors de tout bloc de code possède une portée globale et peut être accessible depuis n'importe où :
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
Une variable définie dans une portée inférieure (imbriquée) ne peut pas être accessible depuis une portée supérieure (parente) :
function exampleFunc() {
if (10 + 10 == 20) {
let exampleVariable = 10;
console.log(exampleVariable);
// Output: 10
// The variable is defined in this block, so it is accessible here
}
console.log(exampleVariable);
// ReferenceError: exampleVariable is not defined
// The variable was defined inside the if-block and is not accessible outside it
}
exampleFunc();
console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Cet exemple contient des erreurs intentionnelles afin d'illustrer le fonctionnement de la portée des variables. L'exécution du code s'arrêterait après la première erreur, donc l'extrait est présenté uniquement à des fins d'explication.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion