休息参数是 ES6 / ES2015 中使用具有任意数量的参数传递的函数的新方法:
1function myFunc(...someArgs) {
2 for (let i = 0; i < rest.length; i++) {
3 console.log(`Argument ${ i + 1 }: ${ rest[i] }`);
4 }
5}
现在我们来调用这个函数:
1myFunc('Paul', 'John', 'Ringo');
这就是我们将在控制台上得到的:
1Argument 1: Paul
2Argument 2: John
3Argument 3: Ringo
在ES6之前,可以使用类似数组的参数对象,但需要更多的锅板代码才能像真实数组那样处理参数。
破坏
您可以将数组定义为剩余参数,然后传入的参数将被分解为数组:
1function myFunc(...[name1, name2, name3]) {
2 console.log(name1, name2, name3);
3}
4
5let names = ['Paul', 'John', 'Ringo'];
6myFunc(names);