Tipi di spazi dei nomi in JavaScript

Tipi di spazi dei nomi in JavaScript
JavaScript "Spazio dei nomi"È un paradigma di programmazione che viene utilizzato per l'assegnazione dell'ambito agli identificatori come variabili e nomi di funzioni. È abituato a prevenire collisioni tra le variabili e le funzioni degli stessi nominati. Ad esempio, un programma JavaScript richiede la creazione dello stesso nome in un contesto diverso. In questa situazione, utilizzando "Spazio dei nomi"Isola i contesti, consentendo di utilizzare lo stesso identificatore in altri spazi dei nomi.

Questo post discuterà di diversi tipi di Spazi dei nomi In JavaScript. Quindi iniziamo!

Spazio dei nomi JavaScript

Il concetto di aggiungere classi, metodi, variabili e oggetti all'interno di un contenitore è noto come "Spazio dei nomi"In JavaScript. Il codice che scrivi in ​​un programma JavaScript e i metodi predefiniti sono archiviati in "finestra"Variabile, considerata un"Spazio dei nomi globali". Questo spazio dei nomi delle finestre viene utilizzato ogni volta che viene creata una nuova variabile. Inoltre, la memorizzazione di qualsiasi valore nella variabile appena creata utilizzerà il suo spazio dei nomi. Ecco come funziona la gerarchia in JavaScript.

Tipi di spazi dei nomi in JavaScript

JavaScript supporta due tipi di spazi dei nomi:

  • Statico Spazio dei nomi
  • Dinamico Spazio dei nomi

Discuteremo in dettaglio entrambi i tipi di spazi dei nomi menzionati.

Spazio dei nomi statici in JavaScript

Quando un "Etichetta dello spazio dei nomi"È codificato e una funzione è definita al suo interno, è nota come"Spazio dei nomi statici". Permette la riassegnazione degli spazi dei nomi; Tuttavia, uno spazio dei nomi statico si riferirà sempre agli stessi vecchi oggetti Javascript.

Gli spazi dei nomi statici in JavaScript sono divisi nelle categorie di seguito:

  • Spazio dei nomi statici con Assegnazione diretta
  • Spazio dei nomi statici con Oggetto Notazione letterale
  • Spazio dei nomi statici con Modello del modulo

Ora, comprendiamo la funzionalità di ciascuno dei tipi di uno spazio dei nomi statici.

Spazio dei nomi statici con assegnazione diretta

In "Assegnazione diretta", Le funzioni sono definite utilizzando lo spazio dei nomi statico già creato. Ad esempio, nel seguente esempio, creeremo un oggetto chiamato "alunno,"Che funge da spazio dei nomi statici:

var studente =

Dopo averlo fatto, definiremo due funzioni "getName ()" E "getAge ()"E associarli al"alunno"Spazio dei nomi:

alunno.getName = function ()
var name = "Alex";
Nome di ritorno;
alunno.getage = function ()
var age = 35;
Età di ritorno;
console.registro (studente.getName ());
console.registro (studente.getAge ());

Poiché le funzioni vengono assegnate direttamente al "alunno"Spazio dei nomi, comporterà il seguente output:

Spazio dei nomi statici con oggetto Notazione letterale

In questo tipo di spazio dei nomi statici, le funzioni vengono aggiunte all'interno del spazio dei nomi A Dichiarazione di oggetti.

Nel programma di seguito offerto, abbiamo usato il Oggetto Notazione letterale per definire uno spazio dei nomi statico "alunno"E aggiungi il"getName ()" E "getAge ()"Funzione all'interno del suo ambito:

var Student =
getName: function ()
var name = "Alex";
Nome di ritorno; ,
getAge: function ()
var age = 35;
Età di ritorno;
;
console.registro (studente.getName ());
console.registro (studente.getAge ());

Produzione

Spazio dei nomi statici con modello di modulo

Il javascript "Modello del modulo"Utilizza un wrapper della funzione Quello ritorna UN oggetto. L'oggetto restituito si riferisce alla logica dell'interfaccia pubblica del modulo all'interno dell'ambito globale.

Questo tipo di spazio dei nomi statico invoca la funzione, salva il valore restituito alla variabile dello spazio dei nomi e blocca l'API del modulo all'interno dell'ambito dello spazio dei nomi. Le variabili non incluse nel valore di ritorno sono mantenute private e accessibili solo alla funzione che si riferisce ad esse.

Esempio
Ora definiremo "alunno" come un spazio dei nomi statici e avvolgilo in una funzione:

var Student = (function ()
ritorno
getName: function ()
var name = "Alex";
Nome di ritorno;
,
getAge: function ()
var age = 35;
Età di ritorno;

; ) ();
console.registro (studente.getName ());
console.registro (studente.getAge ());

Il valore restituito dal "getName ()" E "getAge ()"I metodi verranno salvati nella variabile dello spazio dei nomi statico creato:

Spazio dei nomi dinamici in javascript

Invece di codificare un'etichetta dello spazio dei nomi, a "Spazio dei nomi dinamici" È referenziato all'interno del wrapper della funzione. Questo tipo di spazio dei nomi elimina il requisito per combinare il valore di ritorno per assegnare questi valori allo spazio dei nomi definito. È principalmente utilizzato in situazioni in cui vengono create più istanze indipendenti di un modulo in diverse istanze.

Lo spazio dei nomi dinamici può essere implementato in JavaScript passando spazio dei nomi come un "discussione"O definendolo con il"fare domanda a" parola chiave.

Comprendiamo entrambe le procedure una per una.

Passare lo spazio dei nomi dinamici come argomento

JavaScript ti consente di creare un spazio dei nomi dinamici passandolo come un discussione al funzione auto-invocata. Queste funzioni sono definite con l'aiuto dell'argomento passato.

Ad esempio, creeremo un "alunno"Spazio dei nomi e passalo come argomento"std". Dopodiché definiremo il "getName ()" E "getAge ()"Funziona utilizzando il"std" discussione:

var Student = ; (function (std)
std.getName = function ()
var name = "Alex";
Nome di ritorno;
;
std.getage = function ()
var age = 35;
Età di ritorno;

)(alunno);
console.registro (studente.getName ());
console.registro (studente.getAge ());

L'esecuzione del programma di cui sopra mostrerà il seguente output:

Creazione dello spazio dei nomi dinamici con la parola chiave applica

Un altro metodo per creare un spazio dei nomi dinamici è usare il “fare domanda a" parola chiave e passalo come argomento. Dopo averlo fatto, aggiungi le funzioni richieste con "Questo" parola chiave.

Esempio

var Student = ; (function ()
Questo.getName = function ()
var name = "Alex";
Nome di ritorno;
;
Questo.getage = function ()
var age = 35;
Età di ritorno;

).applicare (studente);
console.registro (studente.getName ());
console.registro (studente.getAge ());

Produzione

Erano tutte informazioni essenziali riguardanti il tipi Di Spazi dei nomi In JavaScript. Puoi ulteriori ricerche come richiesto.

Conclusione

IL Spazio dei nomi statici tipo Capode rigide IL Etichetta dello spazio dei nomi e definisce le funzioni all'interno e il Spazio dei nomi dinamici il tipo è referenziato all'interno del wrapper della funzione. In JavaScript, lo spazio dei nomi statico viene creato con assegnazione diretta, notazione oggetto e modello di modulo. Al contrario, uno spazio dei nomi dinamici viene definito passandolo come argomento o usando la parola chiave applica. Questo post ha discusso dei tipi di spazi dei nomi in JavaScript.