我想使对象的结构不可变,从而防止它的属性被替换。但是,这些属性需要可读。这可能吗?有什么办法可以防止替换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