JavaScript 锁属性说明
示例
可以锁定属性的描述符,因此无法对其进行任何更改。仍然可以正常使用该属性,并从中分配和检索值,但是任何重新定义它的尝试都会引发异常。
的configurable所述属性描述符的属性用于禁止在所述描述符的任何进一步的修改。
var obj = {}; //将'foo'定义为只读并将其锁定 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);
控制台输出
原始值