Movatterモバイル変換


[0]ホーム

URL:


  1. Glossaire
  2. Portée (Scope)

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Portée (Scope)

Laportée est le contexte d'exécution courant dans lequel lesvaleurs et les expressions sont « visibles » ou peuvent être référencées. Si unevariable ou une expression n'est pas dans la portée courante, elle ne sera pas disponible à l'utilisation. Les portées peuvent aussi être organisées en hiérarchie, de sorte que les portées enfants ont accès aux portées parentes, mais pas l'inverse.

JavaScript comprend les types de portée suivants :

  • Portée globale : la portée par défaut pour tout code s'exécutant en mode script.
  • Portée de module : la portée pour le code s'exécutant en mode module.
  • Portée de fonction : la portée créée par unefonction.

De plus, les identifiants déclarés avec certaines syntaxes, notammentlet,const,class ou (en mode strict)function, peuvent appartenir à une portée supplémentaire :

  • Portée de bloc : la portée créée par une paire d'accolades (unbloc).

Unefonction crée une portée, de sorte que (par exemple) une variable définie exclusivement à l'intérieur de la fonction ne peut pas être accessible depuis l'extérieur de la fonction ni depuis d'autres fonctions. Par exemple, le code suivant est invalide :

js
function fonctionExemple() {  const x = "déclarée dans la fonction"; // x ne peut être utilisée que dans fonctionExemple  console.log("Dans la fonction");  console.log(x);}console.log(x); // Provoque une erreur

Cependant, le code suivant est valide car la variable est déclarée en dehors de la fonction, ce qui la rend globale :

js
const x = "déclarée en dehors de la fonction";fonctionExemple();function fonctionExemple() {  console.log("Dans la fonction");  console.log(x);}console.log("En dehors de la fonction");console.log(x);

Les blocs limitent la portée des déclarationslet etconst, mais pas des déclarationsvar.

js
{  var x = 1;}console.log(x); // 1
js
{  const x = 1;}console.log(x); // ReferenceError: x is not defined

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp