Es una forma de crear variables públicas y privadas en tus objetos. Es la encapsulación de código.
Veamos un ejemplo.
const comprarTicket = ( () => {
// privado
let evento = 'Conferencia Js 2020';
const getTicket = () => {
const elemento = document.createElement('p');
console.log(`Ticket comprado para ${evento}`);
}
// público
return {
mostrarTicket: () => {
getTicket();
}
}
})();
comprarTicket.mostrarTicket();
// Ticket comprado para Conferencia Js 2020
Que normalmente está asociado con IIFE - Expresión de función ejecutada inmediatamente
Es muy común su uso y seguramente que ya lo estás utilizando desde hace tiempo.
Este patrón hace que evitemos problemas como la re-declaración de variables con el mismo nombre o bien evita que re-escribas el contenido de tu variable.
El patrón de diseño module no tiene nada que ver con javascript modules, recordemos que los patrones de diseño son la manera más idónea para estructurar tu código.
Top comments (2)
Muy buena explicacion.
Gracias Aldrin, una pena que no he podido terminar toda la serie.