Escolar Documentos
Profissional Documentos
Cultura Documentos
br
https://www.treinaweb.com.br/painel-do-aluno/ava/353f78f5cb15e101efa03b8420cb9d6d/e540995e837c800b6045280e3da8252c
JavaScript Avançado
Namespacing
JavaScript por padrão não contem uma forma de se criar um namespacing, mas a importância de usar um é vital
para a qualidade do projeto, proteger o seu código, para evitar a poluição global, ou substituição de valores com
variáveis iguais.
Para conseguir atingir este objetivo podemos usar o escopo, aproveitando do contexto de que o escopo pode
manter valores privados, podemos então utilizá-los para criar namespacing.
Como não existe um padrão da linguagem para se fazer isso, vários métodos podem ser utilizados para se
conseguir criar um namespacing.
Copiar Código
return {}
})();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Como podemos ver, este método utiliza uma única variável para poder criar um namespacing, mantendo todos
os módulos internos a myApplication
Copiar Código
var myApplication = {
models : {},
views : {},
controllers : {}
};
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Este método é similar ao Single Global Variable, somente muda o formato no qual estamos criando o
namespace, usando um objeto literal ao invés de utilizar o retorno de uma function.
Nested Namespacing
Este padrão é uma extensão do Object Literal Notation, criando vários módulos alinhados.
Copiar Código
myApp.utils.validation.string();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
IIFE
Por ultimo temos o padrão IIFE (Immediately-invoked Function Expressions), que utiliza funções alto executáveis
para criar escopos que iram prevenir a poluição do escopo global
Copiar Código
(function(){
})();
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX