JavaScript Global, Function et Block Scope | Expliqué

JavaScript Global, Function et Block Scope | Expliqué
JavaScript est assez réputé sur le marché actuel de la programmation, et cela est dû à sa grande utilisation. Devenir un développeur JavaScript n'est pas seulement un bon travail, mais il est maintenant essentiel de survivre sur le marché de la programmation. JavaScript, comme tout autre langage de programmation, dépend de l'utilisation des variables. Et chaque variable a sa propre portée.

En programmation, la portée est définie comme l'accessibilité de la variable. Ou en termes plus techniques, c'est la référence au contexte du code. Ainsi, comment pouvons-nous faire la distinction entre la portée des variables, et sur quels facteurs dépendent cette «portée»? Eh bien, nous allons couvrir tout ce qui concerne la portée variable en javascript.

Portée variable en javascript

En JavaScript, il existe 3 types de portée variable, à savoir:

  • Portée mondiale
  • Portée de la fonction
  • Portée

Bien qu'il n'y ait pas seulement deux types de lunettes avant ES6, la portée mondiale et la portée locale. Mais, avec la portée locale ES6 a été décomposée en portée de la fonction et en bloc.

Commençons par la portée mondiale en premier.

Portée mondiale

Les variables définies en dehors de tout fonction ou frisé Les supports sont connus sous le nom de variables mondiales et ont une portée mondiale. La portée globale signifie que les variables sont accessibles à partir de n'importe quelle partie de ce programme, toute fonction ou état conditionnel peut accéder à cette variable.

Par exemple

var name = "LinuxHint";
fonction printName ()
// La variable est accessible à l'intérieur ici
console.log ("Ce tutoriel est par" + nom);

printName ();

Sortir

Note: Ce n'est pas une bonne pratique d'utiliser des variables globales lorsqu'elles ne sont pas nécessaires car chaque bloc de code aura accès à ces variables.

Portée locale

Si vous deviez définir certaines variables à l'intérieur accolades ou à l'intérieur d'une fonction spécifique, alors ces variables sont appelées variables locales, les variables locales ont une portée très confinée qui est appelée portée locale mais, avec la libération d'ES6, la portée locale a été divisée en deux lunettes différentes:

  • Portée de la fonction
  • Portée.

Portée de la fonction

La portée de la fonction est l'accessibilité des variables définies à l'intérieur d'une fonction, ces variables ne sont pas accessibles à partir de toute autre fonction ou même en dehors de la fonction dans le fichier principal.

Par exemple
Tout d'abord, nous avons créé une variable à l'intérieur d'une fonction et l'avons accédé à l'intérieur de la fonction:

fonction abc ()
année = 2021;
// La variable "l'année" est accessible à l'intérieur de cette fonction
console.Log ("L'année est" + année);

// La variable "l'année" ne peut pas être accessible à l'extérieur ici
abc();

Sortir

Vous pouvez voir dans la sortie qu'il fonctionne parfaitement comme prévu.

Cependant, si nous essayons d'accéder à cette variable en dehors de la fonction, nous obtenons une erreur:

fonction abc ()
année = 2021;
// La variable "l'année" est accessible à l'intérieur de cette fonction

// La variable "l'année" ne peut pas être accessible à l'extérieur ici
console.Log ("L'année est" + année);
abc();

Portée

La portée du bloc est également un sous-type de portée locale. La portée du bloc peut être définie comme la portée des variables à l'intérieur du accolades . Maintenant, ces supports bouclés peuvent être de boucles, ou de déclarations conditionnelles, ou autre chose. Vous êtes uniquement autorisé à vous référer à ces variables à l'intérieur du accolades .

Imaginez une situation imbriquée:
Un bloc de code enfermé avec accolades contenant des variables de bloc.


Soit a = 10;
const b = 5;

Ce bloc de code est lui-même à l'intérieur d'une fonction.

fonction de fonction ()

Soit a = 10;
const b = 5;

Maintenant, lorsque nous essayons d'accéder aux variables de l'intérieur de la fonction mais en dehors de ce bloc spécifique.

fonction de fonction ()

Soit a = 10;
const b = 5;

console.journal (a + b);

Et pour accéder à cette fonction, nous devons l'invoquer par:

ajout();

Ensuite, nous aurons une erreur, même si ce sont des variables locales de la même fonction.

Les mots clés laisser et const sont utilisés pour définir les variables de bloc.

Par exemple
Le suivant vérifie les marques obtenues par un étudiant et montre si l'étudiant est passé ou a échoué.

Marksobted = 60
if (marksobted> = 45)
Soit Status = "passé";
console.log ("Remarques du sujet:" + statut);

autre
Soit Status = "Échec";
console.log ("Remarques du sujet:" + statut);

Nous avons créé une variable locale en bloc accolades en utilisant le mot-clé laisser. Nous pouvons même remplacer ce LET par le const. La sortie est comme:

Si vous essayez de vous référer à la variable locale de l'extérieur de la fonction, vous obtiendrez une erreur «Le statut (nom de variable) n'est pas défini»:

Note: Pour se référer au «statut»Variable, nous appelons le console.enregistrer() fonction de l'extérieur des supports conditionnels;

Importance du mot-clé LET et const tout en déclarant les variables de bloc

Si vous déclarez une variable à l'intérieur accolades sans utiliser le laisser et le const Mots-clés puis la variable sera déclarée «Variable globale". Cela est dû au fait que les mots clés ont leurs portées prédéfinies. Pour en savoir plus sur la déclaration de mots clés variables. Pour le montrer, nous allons supprimer le laisser Mot-clé de l'extrait de code ci-dessus et exécutez le code.

Comme vous pouvez le voir clairement, nous avons pu accéder à cette variable en dehors du accolades , ce qui signifie que la variable sans les mots clés «Let» et «const» est défini avec une portée globale.

Conclusion

Les variables sont «la partie la plus essentielle» d'un langage de programmation. Les variables ont des lunettes différentes selon la façon dont elles sont déclarées. En JavaScript, une variable peut être l'une des trois lunettes différentes, globales, locales et blocs. Nous avons appris comment ces lunettes variables fonctionnent en javascrip.