Realistisch ... indem Sie es nicht überschreiben. Sie können den Zugriff immer kontrollieren, indem Sie ihn in ein Objekt einfügen, das nur GetObj ohne SetObj anbietet, aber natürlich ist der Wrapper genauso anfällig für das Überschreiben wie seine "privaten" Elementeigenschaften, die über die GetObj-Methode "versteckt" würden.
Eigentlich Frage ist ein Betrogene:
Can Read-Only Properties be Implemented in Pure JavaScript?
EDIT:
Nach http://javascript.crockford.com/private.html Lesen ist es möglich, Verschluss zu verwenden Variablenreferenzen zu erstellen, die wirklich unzugänglich von der Außenwelt sind. Zum Beispiel:
function objectHider(obj)
{
this.getObject=function(){return obj;}
}
var someData={apples:5,oranges:4}
var hider=new objectHider(someData);
//... hider.getObject()
wo die Referenz in objectHider obj nicht nach Objekterstellung geändert werden.
Ich versuche, eine praktische Verwendung dafür zu denken.
http://stackoverflow.com/questions/366047/can-read-only-properties-in-pure-javascript implementiert werden – spender