三个点(…),将可迭代对象转为用逗号分隔的参数序列。如同rest参数的逆运算。
console.log( [l, 2,3])
//123
const a = [1,2,3],
b = [4,5,6];
//赋值数组
const c = [a] // [1,2,3]
//合并数组
const d = [a,b] //[l,2,3,4,5,6]
//将一个数组添加到另一个数组的尾部
a.push(b);
//字符串转为真正的数组
['hello'] //['h','e','l','l','o']
结合函数,将数组变为参数序列
function add(x, y) {
return x + y;
}
var numbers = [4,38];
add(numbers) //42
与解构赋值结合
const [first, rest] = [1,2,3,4,5];
first//1
rest//[2,3,4,5]
拓展具有Iterator接口的对象
var s = new Set();
s.add(1);
s.add(2);
var arr= [s]// [1,2]
function *gen() {
yield 1;
yield 2;
yield 3;
}
var arr= [gen()]//[1, 2, 3]
var m = new Map();
m.set(1,1)
m.set(2,2)
var arr = [m] // [[1,1],[2,2]]