ES6数组扩展运算符
1 扩展运算符的运用
(1)复制数组
数组是复合的数据类型,直接复制的话,只是复制了指向底层数据机构的指针,而不是克隆一个全新的数组;
const a1=[1,2];
const a2= a1;
a2[0] = 2;
a1 //[2,2];
上面代码中,a2并不是a1的克隆,而是指向同一份数据的另一个指针,修改a2,会直接导致a1的变化 ;
扩展运算符提供了复制数组的简便写法
const a1=[1,2];
//写法一
const a2 =[...a1];
//写法二
const [...a2]=[a1];
(2) 合并数组
const arr1=[a];
const arr2=[b,c];
const arr3=[d];
//es5的合并数组
arr1.concat(arr2,arr3);
//es6的合并数组
[..arr1....arr2,...arr3];