Object.defineProperty方法

Object.defineProperty用于定义或修改对象属性,支持数据描述符(configurable、enumerable、value、writable)和访问器描述符(get、set)。各属性默认值均为false或undefined,configurable控制删除和修改特性,enumerable控制可枚举性,writable控制值可写性。

作者:zhuge···预计阅读 2 分钟·843 阅读·0 评论
Object.defineProperty方法

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。

相关文章

评论

加载中...