ES6中的扩展运算符就是三个点" ... ",可以用来将一个数组分割为由数组内容组成的参数序列。
1、可以将数组转换为分隔开的字符串
let arr=['apple','orange','peach'];
...arr=apple orange peach
2、扩展运算符可以用于函数调用
(1) 将参数整合为数组
function show(...a){
console.log(a);
}
show(1,2,3,4,5); //[1,2,3,4,5];
(2) 将数组展开为相对应的参数
function show(a,b,c){
console.log(a,b,c);
}
show(...[1,9,8]); //a=1,b=9,c=8;
声明:扩展运算符用在圆括号的时候只有用在函数调用时才可以,否则就会报错。
3、 复制数组或者对象
(1)复制对象
let json1={a:3,b:4};
let json2 ={...json1};
console.log(json2); //{a: 3, b: 4}
console.log(json1 === json2); //false
(2) 复制数组
let arr = [3,4];
let arr2 = [...arr];
console.log(arr2); //[3,4]
console.log(arr === arr2); //false
注意:利用扩展运算符复制对象和数组是将数组和对象的内容复制过来,并不是和原对象引用同一地址,所以不会与原对象相等。
4、合并数组
let a = [1,2];
let b = [3,4];
console.log([...a,...b]); //[1,2,3,4]
5、字符串转为数组
let a = tom;
let b = [...a];
console.log(b); //['t','o','m']