Object.getOwnPropertyDescriptor接口是对应于Object.getOwnPropertyDescriptors接口而存在的。所不同的是前者只能返回对象某个特定属性的描述信息。所以它有两个参数,第一个参数接收对象A,第二个参数接收对象A的属性B。然后会返回属性B的描述符(这个描述符是对象类型)。
const object1 = {
prop1 : 100;
}
const descriptor1 = Object.getOwnpropertyDescriptor(object1,'property1');
console.log(descriptor1.configurable);
// true
console.log(descriptor1.value);
// 100
在这里再次回顾一下,JavaScript的属性,是有“特性”的,这些特性存在于“属性描述符中”。属性描述符中记录的属性一般包括:
- value——表示属性的值
- writable——表示属性的可书写性
- configurable——表示属性是否可编辑,默认值为true,编辑内容包括(1)能否使用delete删除,(2)能否修改属性特性,(3)能否修改访问器属性
- enumerable——表示属性是否可枚举。
- getter和seetter等访问器属性
- 其他