ES6特性:Spread操作符

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"]

猜你喜欢

转载自blog.csdn.net/qq_41049816/article/details/85167613
今日推荐