spread和rest运算符都是...
+变量/参数的形式
spread
console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
console.log([1, ...[2, 3, 4], 5])
//[1,2,3,4,5]
function add(x, y) {
return x + y;
}
const numbers = [4, 38];
add(...numbers) // 42
spread主要是...[Array]
对数组的展开
rest
function push(...items) {
console.log(items);
}
let a = 4;
push(a, 1, 2, 3)
//[4,1,2,3]
rest主要是在函数的参数位置对于多个参数的转化成数组形式。而且只能把rest参数放在函数的最后一个位置。如果(array,...items,other)
会报错