let obj = { "name": "zhu" };
数据描述符属性如下:
Object.defineProperty(obj, "name", {
configurable: true | false,
enumerable: true | false,
value: '任意类型的值',
writable: true | false
});
它具有以下可选的键值: configurable:表示该属性能否通过delete删除,能否修改属性的特性或者能否修改访问器属性,默认为false。当且仅当该属性的configurable为true时,才能实现上述行为。 enumerable:表示该属性是否可以枚举,即可否通过for..in访问属性。默认为false。 value:表示该属性的值。可以是任何有效的JS值。默认为undefined。 writable:表示该属性的值是否可写,默认为false。当且仅当属性的writable为true时,其值才能被赋值运算符改变。 get:在读取属性时调用的函数,默认值为undefined。 set:在写入属性时调用的函数,默认值为undefined。

评论