JavaScript Guidebook

JavaScript 完全知识体系

Object.getOwnPropertyDescriptors

⭐️ ES2017(ES8)新特性

Object.getOwnPropertyDescriptors() 方法用于获取一个对象的所有自身 Property 的 Attributes。

语法

语法:

Object.getOwnPropertyDescriptors(obj);

类型声明:

interface TypedPropertyDescriptor<T> {
enumerable?: boolean;
configurable?: boolean;
writable?: boolean;
value?: T;
get?: () => T;
set?: (value: T) => void;
}
interface PropertyDescriptor {
configurable?: boolean;
enumerable?: boolean;
value?: any;
writable?: boolean;
get?(): any;
set?(v: any): void;
}
interface ObjectConstructor {
getOwnPropertyDescriptors<T>(
o: T
): { [P in keyof T]: TypedPropertyDescriptor<T[P]> } & { [x: string]: PropertyDescriptor };
}

参数说明:

参数说明类型
obj用于获取 Property 的 Attributes 的对象object

代码示例

const a = {
name: 'Ben',
get age() {
return '18';
},
};
Object.getOwnPropertyDescriptors(a);

参考资料