首先要明白Object.assign是一个浅拷贝,只会拷贝源对象自身的并且可枚举的属性到目标对象,继承属性和不可枚举属性是不能拷贝的,它将返回目标对象。
实际项目当中有需要对对象重置数据,添加数据,修改数据的需求,此时object.assign未必不是一个你值得想到的方法.
语法:Object.assign(你要修改的对象(目标对象),你要添加,覆盖的数据(源对象))
网上说的什么目标对象,源对象的咱们可能会懵的,下文按照上方简单的语言描述。
操作对象有以下几种形式:有重复属性的,无重复属性的,添加多个数据
理论这玩意说着跟没说一样,咱们看例子:
let data={name:'张三',age:18};
Object.assign(data,{sex:'男'})
console.log(data);//{name: '张三', age: 18, sex: '男'}
let data={name:'张三',age:18};
Object.assign(data,{name:'李四'})
console.log(data);//{name: '李四', age: 18}
let data={name:'张三',age:18};
Object.assign(data,{name:'李四'},{sex:'女'})
console.log(data);//{name: '李四', age: 18, sex: '女'}
可以看得出来很明显了吧。有重复属性的直接覆盖,没有的属性直接添加,多个对象依旧遵循。
就这样吧,说的很直白了吧。再见!有兴趣加个群:345057760