Spread操作符(...),又称展开操作符,可以将可迭代的(Iterable)对象展开
例1:将数组A插入到数组B中,可以通过Spread操作符
var A=[1,2,3];
var B=["a","b",...A,"c"]
console.log(B); // B为["a","b",1,2,3,"c"]
通过Spread操作符对数组A进行展开,就可以将A数组中的元素变成B数组中的元素。如果不用Spread操作符,则需要通过循环数组的方式来实现。
例2:函数调用传参
function func(a,b,c){
console.log(a,b,c);
}
var arr=[1,2,3];
func(arr); // [1,2,3] undefined undefined
func(...arr); // 1 2 3
使用Spread操作符,可以把数组中的元素展开并填充这个函数的列表。
Spread操作符可以展开Iterable的对象,所以除数组外, Set Map Generator等也可以使用
var map=new Map();
map.set("x",1);
map.set("y",2);
var arr=[...map]; // [["x",1],["y",2]]
var set = new Set();
set.add(1);
set.add(2);
set.add(1);
set.add(3);
var arr = [...set]; //[1, 2, 3]
function *myGen() {
yield "hello";
yield "world";
}
var arr = [...myGen()]; //["hello", "world"]