在react或者vue项目中,你或许已经注意到有的地方已经开始使用ES6扩展运算符...,这个运算符很简洁,如果不熟悉,可能会觉着难以理解,这里稍微介绍一下扩展运算符的用法。
ES6扩展运算符简化了数组或者对象赋值问题,以对象类型为例,我们最早做对象拷贝的时候,需要将一个对象的所有属性一一赋值给新的对象,如果新的对象还有别的属性,需要接着设置:
var obj = {id:1,name:'buejee'}
var obj2 = {};
for( var key in obj){
obj2[key] = obj[key]
}
obj2.age = 18;
console.log(obj)
console.log(obj2)
运行这个js,我们得到结果如下:
{ id: 1, name: 'buejee' }
{ id: 1, name: 'buejee', age: 18 }
当我们有了ES6扩展运算符,赋值问题就变得很简单了,只需要一步就能赋值成功。
const obj = {id:1,name:'buejee'}
const obj2 = {...obj,age:18}
console.log(obj)
console.log(obj2)
运行这段代码,同样能够得到上面的结果。
从这个示例中,我们可以看出扩展运算符...将对象obj={id:1,name:'buejee'}做了拆分,好像拆分为了一个个属性集合