Types d'espaces de noms en javascript

Types d'espaces de noms en javascript
Javascrip "Espace de noms«Est un paradigme de programmation qui est utilisé pour attribuer une portée aux identificateurs tels que les variables et les noms de fonction. Il est utilisé pour empêcher les collisions entre les variables et fonctions homosexuelles. Par exemple, un programme JavaScript nécessite de créer la même variable de nom dans un contexte différent. Dans cette situation, en utilisant «Espace de noms»Isolate les contextes, permettant au même identifiant d'être utilisé dans d'autres espaces de noms.

Ce message discutera de différents types de Espaces de noms en javascript. Alors, commençons!

Espace de noms JavaScript

Le concept d'ajout de classes, de méthodes, de variables et d'objets à l'intérieur d'un conteneur est connu sous le nom de «Espace de noms»En JavaScript. Le code que vous écrivez dans un programme JavaScript et les méthodes prédéfinies sont stockées dans le «fenêtre«Variable, considérée comme un«Espace de noms global". Cet espace de noms de fenêtre est utilisé chaque fois qu'une nouvelle variable est créée. De plus, stocker toute valeur dans la variable nouvellement créée utilisera son espace de noms. C'est ainsi que la hiérarchie fonctionne en javascript.

Types d'espaces de noms en javascript

JavaScript prend en charge deux types d'espaces de noms:

  • Statique Espace de noms
  • Dynamique Espace de noms

Nous discuterons en détail des deux types d'espaces de noms mentionnés.

Espace de noms statique en javascript

Lorsqu'un "Étiquette d'espace de noms"Est codé en dur et une fonction est définie à l'intérieur, elle est connue sous le nom de«Espace de noms statique". Il permet la réaffectation des espaces de noms; Cependant, un espace de noms statique fera toujours référence aux mêmes anciens objets JavaScript.

Les espaces de noms statiques en JavaScript sont divisés en catégories ci-dessous:

  • Espace de noms statique avec Affectation directe
  • Espace de noms statique avec Objet notation littérale
  • Espace de noms statique avec Modèle de module

Maintenant, comprenons la fonctionnalité de chacun des types d'espace de noms statiques donné.

Espace de noms statique avec affectation directe

Dans "Affectation directe», Les fonctions sont définies à l'aide de l'espace de noms statique déjà créé. Par exemple, dans l'exemple suivant, nous créerons un objet nommé «étudiant,”Qui agit comme un espace de noms statique:

var étudiant =

Après cela, nous définirons deux fonctions "getName ()" et "getage ()"Et associez-les au"étudiant”Espace de noms:

étudiant.getName = function ()
var name = "Alex";
nom de retour;
étudiant.getage = function ()
Var âge = 35;
âge de retour;
console.journal (étudiant.getName ());
console.journal (étudiant.getage ());

Comme les fonctions sont directement attribuées au «étudiant”Espace de noms, il en résultera la sortie suivante:

Espace de noms statique avec notation littérale objet

Dans ce type d'espace de noms statique, des fonctions sont ajoutées dans le espace de noms à Déclaration d'objet.

Dans le programme pré-donné, nous avons utilisé le objet notation littérale Pour définir un espace de noms statique "étudiant"Et ajoutez le"getName ()" et "getage ()”Fonction dans son champ d'application:

var étudiant =
getName: function ()
var name = "Alex";
nom de retour; ,
getage: function ()
Var âge = 35;
âge de retour;
;
console.journal (étudiant.getName ());
console.journal (étudiant.getage ());

Sortir

Espace de noms statique avec motif de module

Le javascript "modèle de module»Utilise un Emballage de la fonction ce Retour un objet. L'objet retourné fait référence à la logique de l'interface publique du module dans la portée globale.

Ce type d'espace de noms statique invoque la fonction, enregistre la valeur renvoyée à la variable de l'espace de noms et verrouille l'API du module dans la portée de l'espace de noms. Les variables non incluses dans la valeur de retour sont maintenues privées et uniquement accessibles à la fonction qui leur fait référence.

Exemple
Nous allons maintenant définir «étudiant" comme un Espace de noms statique Et enveloppez-le dans une fonction:

var étudiant = (function ()
retour
getName: function ()
var name = "Alex";
nom de retour;
,
getage: function ()
Var âge = 35;
âge de retour;

; ) ();
console.journal (étudiant.getName ());
console.journal (étudiant.getage ());

La valeur renvoyée par le «getName ()" et "getage ()«Les méthodes seront enregistrées dans la variable d'espace de noms statique créé:

Espace de noms dynamique en javascript

Au lieu de coder en dur une étiquette d'espace de noms, un «Espace de noms dynamique" est référencé dans Emballage de la fonction. Ce type d'espace de noms élimine l'exigence de combinaison de la valeur de retour pour attribuer ces valeurs à l'espace de noms défini. Il est principalement utilisé dans des situations où plusieurs instances indépendantes d'un module sont créées dans différents cas.

L'espace de noms dynamique peut être implémenté en javascript en passant le espace de noms comme un «argument"Ou le définir avec le"appliquer" mot-clé.

Comprenons les deux procédures une par une.

Passer l'espace de noms dynamique comme argument

JavaScript vous permet de créer un Espace de noms dynamique en le passant comme un argument au fonction d'auto-évoquant. Ces fonctions sont définies à l'aide de l'argument passé.

Par exemple, nous créerons un «étudiant"Espace de noms et le passer comme un argument"MST". Après cela, nous définirons le «getName ()" et "getage ()»Fonctions en utilisant le«MST" argument:

var étudiant = ; (fonction (std)
MST.getName = function ()
var name = "Alex";
nom de retour;
;
MST.getage = function ()
Var âge = 35;
âge de retour;

)(étudiant);
console.journal (étudiant.getName ());
console.journal (étudiant.getage ());

L'exécution du programme ci-dessus affichera la sortie suivante:

Création de l'espace de noms dynamique avec un mot-clé applique

Une autre méthode pour créer un Espace de noms dynamique est d'utiliser le «appliquer" mot-clé et le passer comme un argument. Après cela, ajoutez les fonctions requises avec le «ce" mot-clé.

Exemple

var étudiant = ; (function ()
ce.getName = function ()
var name = "Alex";
nom de retour;
;
ce.getage = function ()
Var âge = 35;
âge de retour;

).postuler (étudiant);
console.journal (étudiant.getName ());
console.journal (étudiant.getage ());

Sortir

C'était toutes des informations essentielles concernant le les types de Espaces de noms dans Javascrip. Vous pouvez rechercher davantage au besoin.

Conclusion

Le Espace de noms statique taper coder en dur le étiquette d'espace de noms et définit les fonctions à l'intérieur, et le Espace de noms dynamique type est référencé dans Emballage de la fonction. Dans JavaScript, l'espace de noms statique est créé avec une affectation directe, une notation d'objet et un modèle de module. En revanche, un espace de noms dynamique est défini en le faisant passer comme un argument ou en utilisant le mot-clé Appliquer. Cet article a discuté des types d'espaces de noms en javascript.