📜  JavaScript对象getOwnPropertyDescriptors()

📅  最后修改于: 2020-09-27 06:47:30             🧑  作者: Mango

JavaScript Object.getOwnPropertyDescriptors()方法返回给定对象的所有自己的属性描述符。

getOwnPropertyDescriptors()方法的语法为:

Object.getOwnPropertyDescriptors(obj)

使用Object类名称调用作为静态方法的getOwnPropertyDescriptors()方法。


getOwnPropertyDescriptors()参数

getOwnPropertyDescriptors()方法采用:

  • obj-要获取其所有属性描述符的对象。

从getOwnPropertyDescriptors()返回值
  • 返回一个包含对象自身所有属性描述符的对象

示例:使用getOwnPropertyDescriptors()
let obj = {
  x: 10,
  get number() {
    return this.x;
  },
};

let value = Object.getOwnPropertyDescriptors(obj);
console.log(value);

// getOwnPropertyDescriptors() can be used for shallow clone
let cloneObj = Object.create(
  Object.getPrototypeOf(obj),
  Object.getOwnPropertyDescriptors(obj)
);

console.log(cloneObj); // { x: 10, number: [Getter] }

输出

{
  x: { value: 10, writable: true, enumerable: true, configurable: true },
  number: {
    get: [Function: get number],
    set: undefined,
    enumerable: true,
    configurable: true
  }
}
{ x: 10, number: [Getter] }

推荐阅读: Javascript Object.getOwnPropertyDescriptor()