ES6 的扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。
1、将一个数组转为用逗号分隔的参数序列(把数组中元素展开)。
如下:
let arr=[12,23,34];
function testf(){
var arr2 = [...arr,56]; //表示把 arr的内容,转为用逗号分隔的
var arr3 = arr.concat(56);
console.log(arr2);//12,23,34,56
console.log(arr3); //12,23,34,56
}
2、将一个对象的键值对展开。
let obj1 = {
name:"小明",
age:12
}
let obj2 = {
...obj1,
sex:"男“
}
那么,obj2的内容就是
{
name:"小明",
age:12,
sex:"男“
}
3、三个点的这种运算符,经常会用在函数的参数上,相当于可变参数。
function testf(){
f(12,23,34,45);
}
function f(...arr){
console.log(arr);// [12, 23, 34, 45]
}