He sido desarrollador de JavaScript por un tiempo, y siempre he pensado que la forma correcta de implementar miembros privados en JavaScript es usar la técnica descrita por Doug Crockford aquí: http://javascript.crockford.com/private.html.¿Por qué la biblioteca de cierre de Google no usa miembros privados reales?
No pensé que esta era una parte particularmente controvertida de la sabiduría de JavaScript, hasta que comencé a usar la biblioteca de Google Closure. Imagínense mi sorpresa ... la biblioteca no hace ningún esfuerzo por esconder información al estilo de Crockford. Todo lo que hacen es usar una convención de nomenclatura especial y anotar miembros "privados" en la documentación. Tengo el hábito de asumir que los chicos de Google suelen estar a la vanguardia de la calidad del software, así que ¿qué da? ¿Hay algún inconveniente en seguir el consejo del Sr. Crockford que no es obvio?
vea la discusión en los comentarios a http://stackoverflow.com/questions/1437712/how-to-override-private-variable-in-javascript/1438592#1438592 para mi opinión – Christoph