静态方法
assign(es6)
Object.assign(target, source1, source2, ...)
- 用于合并对象,将源对象(source)的所有可枚举属性,复制到目标对象(target)上
- 如果属性重复,会使用源对象的属性值
- 属于浅拷贝,只复制第一层属性的值
- 返回target对象,source对象可以是多个
keys(es8)
Object.keys(object)
- 返回一个数组,由对象中可枚举属性的key组成
values(es8)
Object.values(object)
- 返回一个数组,由对象中可枚举属性的value组成
entries(es8)
Object.entries(target)
- 返回一个数组,由对象中可枚举属性的键值对组成
- 每个元素都是一个数组,第一个元素是key,第二个数组是value
rest
getOwnPropertyDescriptors(es8)
Object.getOwnPropertyDescriptors(obj)
- 获取一个对象中所有自身属性的描述符对象
- 参数说明
- obj:需要查找的目标对象
- 返回一个对象,属性值是对应的描述符对象;如果传入空对象,则返回空对象
getOwnPropertyDescriptor(es8)
Object.getOwnPropertyDescriptor(obj, key)
- 获取一个对象中某个属性的描述符对象
- 参数说明
- obj:需要查找的目标对象
- key:目标对象内属性名称
- 返回描述符对象,如果没有指定属性,则返回undefined
rest
Object
Object Spread
const a = { a: 1 }
const b = {
...a,
b: 2
}
将操作对象中的所有属性都打散复制给所在对象,实现了浅拷贝
