Object 类型API
/* / @param Object target / @param Object source / @return Object target */ Object.assign(target,...source)
用于将所有可枚举属性的值从一个或多个源对象(源对象自身属性)分配到目标对象,如果有重复的属性,将使用
source
内的覆盖target
的属性
通常用于对象的复制
/* / @param Object proto 新对象的原型对象 / @param Object properties / @return Object object 新对象 */ /* properties : { proper1:{ configurable: enumerable: value: writable: get: set: }, proper2:{ ... } ... } */ Object.create(proto,?properties)
用 proto
原型对象加可选的对象描述符properties
来创建新的对象 新对象的属性在新对象的原型上。
/* / @param Object object / @param Object properties / @return Object object */ /* properties :{ proper1:{ configurable: enumerable: value: writable: get: set: }, proper2:{ ... } ... } */ Object.defineProperties(object, properties)
用来定义对象新属性或者修改对象的属性,返回当前这个对象
/* / @param Object object / @param Object property 单一属性 / @param Object descriptor 该属性的描述符 / @return Object object 返回当前对象 */ /* descriptor : { configurable: enumerable: value: writable: get: set: }*/ Object.defineProperty(object, property, descriptor)
用来定义对象新属性或者修改对象的属性,返回当前这个对象
/* / @param Object object 对象 / @return Array array 返回可枚举的键值对数组 */ Object.entries(object)
以数组键值对形式返回对象可枚举的属性和属性值
/* / @param Object object 要被冻结的对象 / @return Object object 被冻结的对象 */ Object.freeze(object)
冻结对象,使对象和对象的原型都无法修改
/* / @param iterable iterableObj 可迭代对象【Array,Map】 / @return Object object 返回对象 */ Object.fromEntries(iterableObj);
将可迭代对象的键值对转换成对象
/* / @param Object object 对象 / @param String property 自有属性 / @return Object PropertyDescriptor 属性描述符 */ Object.getOwnPropertyDescriptor(object, property)
返回对象指定的自有属性的属性描述符
/* / @param Object object 对象 / @return Object PropertyDescriptors 属性描述符 */ Object.getOwnPropertyDescriptors(object)
返回对象全部自有属性的属性描述符
/* / @param Object object 对象 / @return Array PropertyNames 对象属性名 */ Object.getOwnPropertyNames(object)
数组形式返回对象全部属性的名称(包含可枚举和不可枚举)
/* / @param Object object 对象 / @return Array SymbolsNames Symbol名 */ Object.getOwnPropertySymbols(object)
数组形式返回对象自身的Symbol 属性
/* / @param Object object / @return Object/Null proto 原型 */ Object.getPrototypeOf(object)
返回对象的原型
/* / @param any value1 / @param any value2 / @return Boolean true/false */ Object.is(value1,value2)
判断两个值是不是同一个值
/* / @param object object / @return Boolean true/false */ Object.isFrozen(object)
判断一个对象是否被冻结
/* / @param Object object / @return Array property */ Object.keys(object)
数组形式返回对象自身可枚举属性
/* / @param String/Symbol property / @return Boolean true/false */ Object.hasOwnProperty(property)
判断对象是否有指定的属性
/* / @param Object object / @return Array array 返回属性值构成的数组 */ Object.values(object)
数组形式返回对象自身可枚举的属性值