一、定义
Object.getOwnPropertyDescriptors()方法获取指定对象所有的自有属性的属性描述符。
二、语法
Object.getOwnPropertyDescriptors(obj);
参数
obj:要获取自有属性的属性描述符的对象
返回值
一个集合了所有自有属性的属性描述符的对象。
如果传入的参数不是对象,则方法会先强制类型转换为对象,再进行处理。如果传入null或undefined会引发TypeError。
三、示例
示例1:获取对象的所有自有属性的属性描述符
var obj = { a: 1, b: 2 };
Object.getOwnPropertyDescriptors(obj);
/*
{
a: { configurable:true, enumerable:true, value:1, writable: true },
b: { configurable:true, enumerable:true, value:2, writable: true }
}
*/
示例2:浅复制一个对象
var obj1 = { a: 1, b: 2 };
var obj2 = Object.create(Object.getPropertyOf(obj1), Object.getOwnPropertyDescriptors(obj1));