…
Spread
该运算符将可迭代对象(数组、字符串),展开为一个个单独的元素或者函数的参数。
var arr = [1, 2, 3, 4];function foo(a, b, c, d){console.log(a, b, c, d); //1 2 3 4}foo(...arr);//老方法,使用apply间接通过数组传参foo.apply(null, arr);
Rest parameters
给函数最后一个形参加上…,使得最后一个形参会变成数组。实参传值时会将剩余的参数都收集到数组中。
function foo(a, ...args){
  console.log(args);    //[2, 3, 4]
}
foo(1,2,3,4);
:::info 函数只能定义一个rest参数,而且必须放在参数列表的最后一个。 :::
