class Object {
toString(): string; // ES2015+ fix: @@toStringTag support
// 将源对象的自有可枚举属性复制到目标对象
static assign(target: Object, ...sources: Array<Object>): Object;
// 以第一个参数为原型创建新对象
static create(prototype: Object | null, properties?: { [property: PropertyKey]: PropertyDescriptor }): Object;
// 在一个对象上定义或修改多个属性
static defineProperties(object: Object, properties: { [property: PropertyKey]: PropertyDescriptor })): Object;
// 在一个对象上定义修改一个属性
static defineProperty(object: Object, property: PropertyKey, attributes: PropertyDescriptor): Object;
// 拿到包含[key,value]的迭代器对象
static entries(object: Object): Array<[string, mixed]>;
// 冻结一个对象,这个对象完全只读
static freeze(object: any): any;
// 将键值对转换为对象,与entries作用相反
static fromEntries(iterable: Iterable<[key, value]>): Object;
// 拿到对象某个属性的描述符对象
static getOwnPropertyDescriptor(object: any, property: PropertyKey): PropertyDescriptor | void;
// 拿到对象所有属性的描述符对象
static getOwnPropertyDescriptors(object: any): { [property: PropertyKey]: PropertyDescriptor };
// 获取除Symbol外的所有自有属性
static getOwnPropertyNames(object: any): Array<string>;
// 拿到对象的原型
static getPrototypeOf(object: any): Object | null;
// 判断属性是不是对象的自有属性
static hasOwn(object: object, key: PropertyKey): boolean;
// 判断两个值是否为相同值
static is(value1: any, value2: any): boolean;
// 判断一个对象是否可扩展
static isExtensible(object: any): boolean;
// 判断对象是否被冻结
static isFrozen(object: any): boolean;
// 判断对象是否被密封
static isSealed(object: any): boolean;
// 拿到对象所有可枚举的自有属性
static keys(object: any): Array<string>;
// 防止对象扩展属性,以及修改原型
static preventExtensions(object: any): any;
// 密封一个对象
static seal(object: any): any;
// 修改一个对象的原型
static setPrototypeOf(target: any, prototype: Object | null): any; // required __proto__ - IE11+
// 拿到对象的所有可枚举的自有属性值
static values(object: any): Array<mixed>;
}
javascript core-js object
最新推荐文章于 2024-09-25 18:15:20 发布
本文介绍了JavaScript的ClassObject方法,涵盖了ES2015+中关于对象创建、属性管理、可枚举性、冻结/密封等关键特性,帮助开发者深入理解对象操作。
摘要由CSDN通过智能技术生成