Después de leer un poco sobre el patrón del módulo, he visto algunas formas de devolver las propiedades que desea que sean públicas.Patrón de módulo de JavaScript: ¿qué hay de usar "devolver esto"?
Una de las maneras más comunes es declarar sus propiedades y métodos públicos directamente dentro de la declaración de "devolución", además de sus propiedades y métodos privados. De forma similar (el patrón "Revelador") es proporcionar referencias simples a las propiedades y métodos que desea que sean públicos. Por último, una tercera técnica que vi fue crear un nuevo objeto dentro de la función del módulo, al que asignas tus nuevas propiedades antes de devolver dicho objeto. Esta fue una idea interesante, pero requiere la creación de un nuevo objeto.
Así que estaba pensando, ¿por qué no simplemente usar this.propertyName
para asignar sus propiedades y métodos públicos, y finalmente usar return this
al final? De esta manera me parece mucho más simple, ya que puede crear propiedades y métodos privados con la sintaxis var
o function
, o usar la sintaxis this.propertyName
para declarar sus métodos públicos.
aquí está el método que estoy sugiriendo:
(function() {
var privateMethod = function() {
alert('This is a private method.');
}
this.publicMethod = function() {
alert('This is a public method.');
}
return this;
})();
¿Hay ventajas/desventajas de utilizar el método anterior? ¿Qué hay de los demás?
¿Has considerado qué es exactamente 'esto'? ¿Dónde está agregando su publicMethod? –