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);