鎖屬性描述
Version >= 五
可以鎖定屬性的描述符,因此不能對其進行任何更改。仍然可以正常使用該屬性,從中分配和檢索值,但任何重新定義它的嘗試都將引發異常。
屬性描述符的 configurable
屬性用於禁止對描述符進行任何進一步更改。
var obj = {};
// Define 'foo' as read only and lock it
Object.defineProperty(obj, "foo", {
value: "original value",
writable: false,
configurable: false
});
Object.defineProperty(obj, "foo", {writable: true});
將丟擲此錯誤:
TypeError:無法重新定義屬性:foo
該屬性仍然是隻讀的。
obj.foo = "new value";
console.log(foo);
控制檯輸出
原始價值