Portée des variables

Objectif

  • Comprendre la notion de portée locale et de bloc de définition.

Mise en situation

Un programme est séparé en blocs afin d'être plus lisible. Par exemple si on veut écrire un programme qui affiche une suite de nombres puis qui calcule leur somme, on peut séparer le programme en deux parties : deux blocs, qui ont chacun leurs variables. En effet chaque variable ne sera utilisable que dans le bloc de code où elle a été définie. On appelle portée d'une variable la zone de code dans laquelle une variable sera définie et utilisable.

DéfinitionPortée d'une variable

Lorsqu'on définit une variable elle est associée au bloc où elle se trouve et n'est visible que dans celui-ci. On parle de portée locale.

Cela signifie qu'il est impossible d'afficher ou d'utiliser cette variable dans un autre bloc : elle n'existe tout simplement pas.

Si une variable est déclarée dans le bloc principal (c'est à dire en dehors de toute boucle ou fonction) elle est visible dans toute la partie du programme située après sa déclaration.

Exemple

Dans le programme suivant la variable numberApple est visible dans tout le programme y compris dans le bloc if.

En revanche la variable enoughApple est déclarée dans le bloc if, donc visible uniquement dans celui-ci.

La dernière instruction génère donc une erreur.

1
/** JavaScript */
2
const numberApple = 30
3
console.log(numberApple)
4
if(numberApple === 30) {
5
  let enoughApple = true
6
  console.log(enoughApple)
7
}
8
console.log(enoughApple)
9

Remarque

La portée des variables fonctionne de la même manière avec d'autres boucles ou dans des fonctions.

Une variable définie dans une fonction n'est visible que dans celle-ci.

À retenir

En fonction du bloc où sont déclarées les variables, elles n'ont pas la même portée et ne sont donc pas visibles et utilisables dans la même partie du programme.