Aussi appelé « portée ». Ce principe dans les langages de programmation, détermine la visibilité et la durée de vie des variables. Il en existe 3 : global scope, function scope et block scope.

Global scope

Toutes variables et constantes déclarées en dehors d’une fonction ou d’un bloc de code ont une portée dite globale. Elles sont donc accessibles depuis n’importe quelle partie du code :

let vehicule1 = "bmw"; 
const vehicule2 = "audi"; 
var vehicule3 = "ferrari"; 

function displayVehicule(){
  console.log(vehicule1);
  console.log(vehicule2);
  console.log(vehicule3);
}

displayVehicule(); 
//bmw
//audi 
//ferrari

if(true){
  console.log(vehicule1);//bmw
  console.log(vehicule2);//audi 
  console.log(vehicule3);//ferrari
}

Function scope

Toutes variables définies à l’intérieur d’une fonction, ne sont accessibles qu’à l’intérieur de celle-ci et non en dehors. Elles ont une portée dite locale :

function scopeFunction(){
  let vehicule1 = "bmw"; 
  const vehicule2 = "audi"; 
  var vehicule3 = "ferrari"; 
}

scopeFunction(); 

console.log(vehicule1); //vehicule1 is not defined
console.log(vehicule2); //vehicule2 is not defined
console.log(vehicule3); //vehicule3 is not defined

Block scope

Les mots-clés let et const permettent de spécifier que ces instructions auront une portée block scope, c’est-à-dire qu’elles ne sont accessibles qu’à l’intérieur du bloc dans lequel elles sont définies. Tout comme pour les fonctions, les variables ont ici une portée dite locale. Contrairement à l’instruction var, qui elle, a une portée globale. C’est la raison pour laquelle, le var n’est plus recommandé en raison de son scope global.

if(true){
  let vehicule1 = "bmw"; 
  const vehicule2 = "audi"; 
  var vehicule3 = "ferrari";  
  
  console.log(vehicule1); //bmw
  console.log(vehicule2); //audi
  console.log(vehicule3); //ferrari
}
  console.log(vehicule1); //vehicule1 is not defined
  console.log(vehicule2); //vehicule2 is not defined
  console.log(vehicule3); //ferrari

Ce site est susceptible d'utiliser des cookies pour améliorer votre expérience utilisateur