Logo
Section 1 / 4

剩余参数

REST 参数简介:使用可变数量参数调用函数及其潜在错误

导入

剩余参数

REST 参数简介:使用可变数量参数调用函数及其潜在错误

ES2015 中的剩余参数值得学习。使用它你可以实现一些有趣的功能,并且通常能让代码比对应的 ES5 代码更加简洁。

剩余参数

在某些情况下,你可能需要处理可变数量的参数。在 ES5 中,可以通过函数内部的 arguments 对象来访问这些参数,将其视为数组:

1(function() { 2 console.log(arguments); 3})(1, 'Second', 3);

在 ES2015 中,函数的最后一个参数可以前面加上 ...。这个参数会将函数中剩余的所有参数收集到一个数组中。这种语法被称为 剩余参数,因为它包含了传递给函数的其余参数。

让我们将上面的函数用 ES2015 重写:

1((...args) => { // 使用剩余参数 2 console.log(args); 3})(1, 'Second', 3);

请注意,包含剩余参数的参数列表必须放在括号中。这是强制要求,因为 ...args 等价于 arg1, arg2, arg3。

剩余参数必须是函数的最后一个参数。因此,一个函数中只能有一个剩余参数。如果剩余参数不是参数列表中的最后一个参数,将会抛出错误。

解构

展开运算符