无涯教程-Object.getOwnPropertyDescriptors()函数

80 阅读1分钟

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

参考链接

www.learnfk.com/javascript/…