Você está na página 1de 2

treinaweb.com.

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.

Single Global Variable

Copiar Código

var myApplication = (function(){

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

Object Literal Notation

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

Reportar problema na página

Você também pode gostar