Este es un seguimiento de una pregunta que acabo de publicar. Me pregunto cómo manejarán todas las variables miembro en clases de JavaScript cuando usen MyClass.prototype para definir métodos.¿Cuál es el mejor enfoque para las variables miembro en javascript orientado a objetos?
Si define todos los métodos en la función constructora:
function MyClass(){
this.myMethod = function(){}
}
Se puede declarar muy bien las variables miembro y acceder a ellos desde el interior de sus métodos:
function MyClass(){
var myVar = "hello";
this.myMethod = function(){
alert(myVar);
}
}
Cuando se utiliza el objeto. técnica de prototipo, pierdes esta elegancia y tienes que hacerlo así;
function MyClass(){}
MyClass.prototype.myVar = "hello";
MyClass.prototype.myMethod = function(){alert(this.hello)};
no estoy loca por tener que escribir "este" cada vez que accedo a una variable miembro. Quiero utilizar el enfoque Object.prototype por motivos de memoria y flexibilidad, pero parece mucho más complejo en cuanto a la sintaxis. ¿Es así como tu gente generalmente trabaja?
gracias,
-Morgan
En relación con la variabl privada e miembros, puede que le interese usar el compilador de cierre de Google. Cada clase se puede definir en un archivo separado y el compilador aplicará las variables privadas. https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-private –