Module Pattern

El “Module Pattern” es una forma de encapsular código y así prevenirnos de la contaminación del namespacing (que dos variables globales se llamen igual).

Aqui un ejemplo sencillo. Se crea una función anonima y se la rodea de (). Ademas se la llama inmediatamente después de crearla.

(function () {

console.log(window)

})();
  • Todo el código que esta dentro de la función no es accesible desde fuera.
  • En cambio, las variables globales son accesibles.

Global Import

Cuando queremos acceder a una variable local forzamos a que JavaScript tenga que saltar el scope para resolverlas por lo que ralentizamos la ejecucion. Asi que para importar el objeto window podemos hacer lo siguiente:

(function (w) {

console.log( w );

})(window);

Global Export

El hecho de tener el código aislado tambien tiene sus cosas malas. Para poder hacer publico lo que nos interese podemos hacerlo de la siguiente manera. Aunque ten en cuenta que si lo tenemos que hacer a menudo puede ser que no nos estemos planteando bien la modularizacion del código.

(function (w) {

w.varExportada = "Esta es una variable exportada";

})(window);

// Ya en contexto global

console.log(varExportada);
Module Pattern

Un comentario en “Module Pattern

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s