我们可以使用ES6在函数参数中有两个或更多的rest参数吗?有人请解释一下吗?
function f(a, b, ...args1, c, ...arg2) {
//do somthing
}
这可以用es6吗?
答案 0 :(得分:2)
没有
如果函数的最后一个命名参数以
...
为前缀,它将成为一个数组,其元素从0
(包括)到theArgs.length
(独占) )由传递给函数的实际参数提供。
(强调我的)
如果它是“最后一个”,它显然只能是一个。
答案 1 :(得分:2)
不,因为结果不能很好地定义。
例如,如果你打电话
f(1,2,3,4,5);
然后会有不同的合理可能性:
a = 1;
b = 2;
args1 = [];
c = 3;
args2 = [4,5];
a = 1;
b = 2;
args1 = [3];
c = 4;
args2 = [5];
a = 1;
b = 2;
args1 = [3,4];
c = 5;
args2 = [];
a = 1;
b = 2;
args1 = [3,4,5];
c = undefined;
args2 = [];