Sobes.tech
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 let et const à 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.