与解构赋值结合
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest // [2, 3, 4, 5]
const [first, ......rest] = [];
first // undefined
rest // []
const [first, ...rest] = ["foo"];
first // "foo"
rest...// []
将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错
const [...butLast, last] = [1, 2, 3, 4, 5];
// 报错
const [first,......middle, last] = [1, 2, 3, 4, 5];
// 报错
实现了 Iterator 接口的对象
任何 Iterator 接口的对象,都可以用扩展运算符转为真正的数组。...Map 和 Set 结构,Generator 函数
map的keys
let map = new Map([
[1, 'one'],
[2, 'two'],
[3, 'three'],
])