Este post discutirá diferentes tipos de Namespaces em javascript. Então vamos começar!
Jamespace JavaScript
O conceito de adicionar classes, métodos, variáveis e objetos dentro de um recipiente é conhecido como “Espaço para nome”Em JavaScript. O código que você escreve em um programa JavaScript e os métodos predefinidos são armazenados no “janela”Variável, considerada uma“Namespace global““. Este espaço para nome de janela é utilizado sempre que uma nova variável é criada. Além disso, armazenar qualquer valor na variável recém -criada usará seu espaço de nome. É assim que a hierarquia funciona em JavaScript.
Tipos de namespaces em JavaScript
JavaScript suporta dois tipos de namespaces:
Discutiremos os dois tipos de namespaces mencionados em detalhes.
Namespace estático em javascript
Quando um "Etiqueta de espaço para nome”É codificado e uma função é definida dentro dela, é conhecida como“Namespace estático““. Permite a reatribuição dos espaços para nome; No entanto, um espaço para nome estático sempre se referirá aos mesmos objetos JavaScript antigos.
Os espaços nomes estáticos do JavaScript são divididos nas categorias abaixo dadas:
Agora, vamos entender a funcionalidade de cada um dos tipos de namespace estático dados.
Namespace estático com atribuição direta
Em "Atribuição direta”, As funções são definidas usando o espaço de nome estático já criado. Por exemplo, no exemplo a seguir, criaremos um objeto chamado “estudante,”, Que atua como um espaço de nome estático:
var aluno =Depois de fazer isso, definiremos duas funções “getName ()" e "getage ()”E associe -os ao“estudante”Namespace:
estudante.getName = function ()Como as funções são atribuídas diretamente ao “estudante“Namespace, isso resultará na seguinte saída:
Namespace estático com notação literal de objeto
Neste tipo de espaço de nome estático, as funções são adicionadas dentro do espaço para nome no declaração de objeto.
No programa abaixo do dado, usamos o notação literal objeto Para definir um espaço de nome estático “estudante”E adicione o“getName ()" e "getage ()”Função dentro de seu escopo:
var aluno =Saída
Namespace estático com padrão de módulo
O javascript “padrão de módulo”Utiliza a wrapper de função que retorna um objeto. O objeto retornado refere -se à lógica da interface pública do módulo dentro do escopo global.
Esse tipo de espaço nomes estático chama a função, salva o valor retornado na variável de espaço para nome e bloqueia a API do módulo dentro do espaço para nome. As variáveis não incluídas no valor de retorno são mantidas privadas e acessíveis apenas à função que se refere a eles.
Exemplo
Vamos agora definir “estudante" como um namespace estático e envolva -o em uma função:
O valor retornado pelo “getName ()" e "getage ()”Os métodos serão salvos na variável de namespace estática criada:
Namespace dinâmico em javascript
Em vez de codificar um rótulo de namespace, um “Namespace dinâmico" é referenciado dentro do wrapper de função. Esse tipo de espaço para nome elimina o requisito de combinar o valor de retorno para atribuir esses valores ao espaço de nome definido. É utilizado principalmente em situações em que várias instâncias independentes de um módulo são criadas em diferentes casos.
O namespace dinâmico pode ser implementado em JavaScript, passando o espaço para nome Como um “argumento"Ou definindo com o"aplicarPalavra -chave.
Vamos entender os dois procedimentos um por um.
Passando namespace dinâmico como argumento
JavaScript permite que você crie um namespace dinâmico passando isso como um argumento para o função auto-chamada. Essas funções são definidas com a ajuda do argumento aprovado.
Por exemplo, criaremos um “estudante”Namespace e passa como um argumento“std”. Depois disso, definiremos o “getName ()" e "getage ()”Funções utilizando o“std”Argumento:
var aluno = ; (função (std)A execução do programa acima do rumo mostrará a seguinte saída:
Criação de namespace dinâmico com palavras -chave Aplicar
Outro método para criar um namespace dinâmico é usar o “aplicar” palavra -chave e passar como um argumento. Depois de fazer isso, adicione as funções necessárias com o “essePalavra -chave.
Exemplo
var aluno = ; (function ()Saída
Tudo isso era informações essenciais sobre o tipos de Namespaces em JavaScript. Você pode pesquisar ainda mais conforme necessário.
Conclusão
O Namespace estático tipo códigos harding o Etiqueta de espaço para nome e define funções dentro, e o Namespace dinâmico tipo é referenciado dentro do wrapper de função. Em JavaScript, o espaço de nome estático é criado com atribuição direta, notação de objeto e padrão de módulo. Por outro. Este post discutiu os tipos de namespaces em JavaScript.