我想使對象的結構不可變,從而防止它的屬性被替換。但是,這些屬性需要可讀。這可能嗎?有什麼辦法可以防止替換JavaScript對象屬性?
我確定沒有語言功能(沿着Java中的final
和C#中的readonly
)來支持這一點,但是想知道是否有其他機制可以實現相同的結果?
我在找東西沿着這些路線:
var o = {
a: "a",
f: function() {
return "b";
}
};
var p = o.a; // OK
o.a = "b"; // Error
var q = o.f(); // OK
o.f = function() { // Error
return "c";
};
+1:'' freeze()'聽起來像我以後的事情。 –
你正在運行版本5?! – mkoryak
我剛纔提到它僅供參考。我不積極地對ECMAScript 5編程。 – EndangeredMassa