Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/09/2012, 07:26
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 7 meses
Puntos: 343
Respuesta: ¿Como definir propiedades privadas y métodos privados bajo notación litera

Usando la herencia clásica de JS no vas a poder implementar properties privadas sin inyectarlas en un closure (como haces en el ejemplo).

A lo que hacia referencia, es que cuando usas este tipo de construcciones (la del ejemplo que das), la instanciación/creación de objetos no reutiliza las funciones, con su consecuente costo en memoria.

Código Javascript:
Ver original
  1. var A = function() {};
  2.  
  3. A.prototype.foo = function() {};
  4.  
  5. var a1 = new A;
  6. var a2 = new A;
  7.  
  8. a2.foo === a2.foo; // true
  9.  
  10. var B = function() { this.foo = function() {} };
  11.  
  12. var b1 = new B;
  13. var b2 = new B;
  14.  
  15. b1.foo === b2.foo; // false

Por lo demás, en lo personal me conformo con la privacidad por convención en ausencia de la privacidad por implementación.
__________________
blog | @aijoona