JavaScript Object.getOwnPropertyDescriptors() 方法
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