Portée JavaScript

La portée détermine l’accessibilité (visibilité) des variables.
JavaScript a 3 types de portée :
- Portée du bloc
- Portée de la fonction
- Portée mondiale
Portée du bloc
Avant ES6 (2015), JavaScript n’avait que Portée mondiale et Portée de la fonction.
ES6 a introduit deux nouveaux mots clés JavaScript importants : let
et const
.
Ces deux mots-clés fournissent Portée du bloc en JavaScript.
Les variables déclarées à l’intérieur d’un bloc { } ne sont pas accessibles depuis l’extérieur du bloc :
Exemple
{
soit x = 2 ;
}
// x ne peut PAS être utilisé ici
Variables déclarées avec le var
le mot-clé ne peut PAS avoir une portée de bloc.
Les variables déclarées à l’intérieur d’un bloc { } sont accessibles depuis l’extérieur du bloc.
Exemple
{
var x = 2 ;
}
// x PEUT être utilisé ici
Portée locale
Les variables déclarées dans une fonction JavaScript, deviennent
LOCAL à la fonction.
Exemple
// le code ici ne peut PAS utiliser carName
function maFonction() {
let carName = “Volvo” ;
// code ici PEUT utiliser carName
}
// le code ici ne peut PAS utiliser carName
Essayez-le vous-même »
Les variables locales ont Portée de la fonction:
Ils ne sont accessibles qu’à partir de la fonction.
Étant donné que les variables locales ne sont reconnues qu’à l’intérieur de leurs fonctions, les variables portant le même nom peuvent être utilisées dans différentes fonctions.
Les variables locales sont créées lorsqu’une fonction démarre et supprimées lorsque la fonction est terminée.
Portée de la fonction
JavaScript a une portée de fonction : chaque fonction crée une nouvelle portée.
Les variables définies à l’intérieur d’une fonction ne sont pas accessibles (visibles) depuis l’extérieur de la fonction.
Variables déclarées avec var
, let
et const
sont assez similaires lorsqu’ils sont déclarés dans une fonction.
Elles ont toutes Portée de la fonction:
function maFonction() {
var nomvoiture = “Volvo” ; // Portée de la fonction
}
function maFonction() {
let carName = “Volvo” ; // Portée de la fonction
}
function maFonction() {
const nom_voiture = “Volvo” ; // Portée de la fonction
}
Variables JavaScript globales
Une variable déclarée en dehors d’une fonction, devient MONDIAL.
Exemple
let carName = “Volvo” ;
// le code ici peut utiliser carName
function maFonction() {
// le code ici peut aussi utiliser carName
}
Essayez-le vous-même »
Une variable globale a Portée mondiale:
Tous les scripts et fonctions d’une page Web peuvent y accéder.
Portée mondiale
Variables déclarées Globalement (en dehors de toute fonction) ont
Portée mondiale.
Mondial les variables sont accessibles de n’importe où dans un programme JavaScript.
Variables déclarées avec var
, let
et const
sont assez similaires lorsqu’ils sont déclarés en dehors d’un bloc.
Elles ont toutes Portée mondiale:
var x = 2 ; // Portée globale
soit x = 2 ; // Portée globale
const x = 2 ; // Portée globale
Variables JavaScript
En JavaScript, les objets et les fonctions sont également des variables.
La portée détermine l’accessibilité des variables, des objets et des fonctions à partir de différentes parties du code.
Automatiquement global
Si vous affectez une valeur à une variable non déclarée, elle deviendra automatiquement une MONDIAL variable.
Cet exemple de code déclarera une variable globale carName
même si la valeur est affectée à l’intérieur d’une fonction.
Exemple
maFonction();
// le code ici peut utiliser carName
function maFonction() {
nom_voiture = “Volvo” ;
}
Essayez-le vous-même »
Mode strict
Tous les navigateurs modernes prennent en charge l’exécution de JavaScript en “mode strict”.
Vous en apprendrez plus sur l’utilisation du mode strict dans un chapitre ultérieur de ce didacticiel.
En “mode strict”, les variables non déclarées ne sont pas automatiquement globales.
Variables globales en HTML
Avec JavaScript, la portée globale est l’environnement JavaScript.
En HTML, la portée globale est l’objet window.
Variables globales définies avec les var
le mot-clé appartient à l’objet window :
Variables globales définies avec les let
le mot clé n’appartient pas à l’objet window :
Avertissement
Ne créez PAS de variables globales sauf si vous en avez l’intention.
Vos variables globales (ou fonctions) peuvent écraser les variables de fenêtre (ou fonctions).
Toute fonction, y compris l’objet window, peut écraser vos variables et fonctions globales.
La durée de vie des variables JavaScript
La durée de vie d’une variable JavaScript commence lorsqu’elle est déclarée.
Les variables de fonction (locales) sont supprimées lorsque la fonction est terminée.
Dans un navigateur Web, les variables globales sont supprimées lorsque vous fermez la fenêtre (ou l’onglet) du navigateur.
Arguments de la fonction
Les arguments de fonction (paramètres) fonctionnent comme des variables locales à l’intérieur des fonctions.
#Portée #JavaScript