Object.getOwnPropertyDescriptors()方法返回给定对象的所有自身属性描述符。 getOwnPropertyDescriptors()和getOwnPropertyDescriptor()方法之间的区别在于getOwnPropertyDescriptors()方法会忽略符号属性。
语法
Object.getOwnPropertyDescriptors(obj)
参数
obj :这是为其获取所有自己的属性描述符的对象。
返回
此方法返回一个对象,该对象包含对象自己的所有属性描述符。如果没有属性,则此方法可能返回一个空对象。
浏览器支持
| Chrome | 54 |
| Edge | 15 |
| Firefox | 50 |
| Opera | 41 |
例子1
const object1 = { property1: 103 }; const descriptors1 = Object.getOwnPropertyDescriptors(object1); console.log(descriptors1.property1.writable); console.log(descriptors1.property1.value);
输出:
103
例子2
const object1 = { property1: 22 }; const descriptors1 = Object.getOwnPropertyDescriptors(object1); console.log(descriptors1.property1.value); console.log(descriptors1.property1); console.log(descriptors1.property1.writable);
输出:
[object Object] {
configurable: true,
enumerable: true,
value: 22,
writable: true
}
true
例子3
const object1 = { property1: 42 }; const object2 = { property2: 23 }; const descriptors1 = Object.getOwnPropertyDescriptors(object1); const descriptors2 = Object.getOwnPropertyDescriptors(object2); console.log(descriptors1.property1.writable); console.log(descriptors1.property1.value,descriptors2.property2.value);
输出:
true 42 23