ES6之前对于参数个数不确定的,我们使用arguments对象,如:
function myFun() {
console.log(arguments);
}
myFun([1, 2, 3]); // [Arguments] { '0': [ 1, 2, 3 ] }
myFun(1, 2, 3); // [Arguments] { '0': 1, '1': 2, '2': 3 }
ES6中引入了rest参数,表示方式为:...变量名,是一个真正的数组,如:
function myFun(...args) {
console.log(args);
}
myFun(1, 2, 3); // [ 1, 2, 3 ]
function myFun(first, ...args) {
console.log(args);
}
myFun(1, 2, 3); // [ 2, 3 ]