访问器属性 | 数据属性 | 定义 |
---|---|---|
set | 在读取属性时调用的函数,默认为undefined。 | |
get | 在写入属性时调用的函数,默认为undefined | |
Configurable | Configurable | 表示能否通过delete删除属性从而重新定义属性,能否修改属性特性,能否把属性修改为访问器属性。通过以上方式添加的对象属性,默认为true |
Enumerable | Enumerable | 表示能否通过for-in 循环访问属性。通过以上方式添加的对象属性,默认为true |
Writable | 表示能否修改属性的值。通过以上方式添加的对象属性,默认为true | |
Value | 包含这个属性的数据值,可读取写入。通过以上方式添加的对象属性,默认为undefined |
通过Object.defineProperty来配置
Object.defineProperty(obj, prop, descriptor) 接收三个参数:
obj:属性所在的对象
prop:要访问的属性名
descriptor:描述符对象
描述符对象包含六个属性:configurable、enumerable、writable、value、get、set ,要修改属性的特性,必须使用Object.defineProperty()方法。
通过以上两种方式添加的对象属性,其布尔值特性默认值是true,通过Object.defineProperty来修改属性特性时,只设置需要修改的特性即可;而通过Object.defineProperty创建的属性,其布尔值特性默认值是false
网友评论