Realísticamente ... al no sobreescribirlo. Siempre se puede controlar el acceso envolviéndolo en un objeto que solo ofrece GetObj sin SetObj, pero, por supuesto, el contenedor también puede sobrescribirse, al igual que sus propiedades de miembro "privadas" que se "ocultan" mediante el método GetObj.
En realidad, la pregunta es una víctima:
Can Read-Only Properties be Implemented in Pure JavaScript?
EDIT:
Después de leer http://javascript.crockford.com/private.html, es posible utilizar el cierre para crear referencias a variables que son verdaderamente inaccesible desde el mundo exterior. Por ejemplo:
function objectHider(obj)
{
this.getObject=function(){return obj;}
}
var someData={apples:5,oranges:4}
var hider=new objectHider(someData);
//... hider.getObject()
donde la referencia a obj en objectHider no puede ser modificado después de la creación del objeto.
Estoy tratando de pensar en un uso práctico para esto.
http://stackoverflow.com/questions/366047/can-read-only-properties-be-inserted-in-pure-javascript – spender