我想让一个对象的结构不可变,防止其属性随后被替换。但是,这些属性需要是可读的。这可能吗?
我确信没有语言特性(final
在 Java 和readonly
C# 中)支持这一点,但想知道是否可能有另一种机制来实现相同的结果?
我正在寻找这些方面的东西:
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";
};