Rest参数比数组类型参数有什么好处?

时间:2019-05-21 10:07:43

标签: javascript

是否有任何只能通过使用Rest参数而不是使用数组类型参数来实现的用例?

function add1(...args) {
  let result = 0;

  for (let arg of args) result += arg;

  return result
}

function add2(args) {
  let result = 0;

  for (let arg of args) result += arg;

  return result
}

console.log(add1(1,2,3)); // 6
console.log(add2([1,2,3])); // 6

1 个答案:

答案 0 :(得分:0)

如果希望将参数作为类似数组的对象传递或可迭代,则可以将数组用作输入;如果希望将元素用作参数,则必须使用rest参数。

使用第一种方法的缺点是某些仅支持迭代的数组方法。因此,您必须使用自定义功能。

这取决于函数参数。让我们以Math.max为例。

const numbers = [1, 3, 4]

Math.max(numbers) //output will be NaN

Math.max(...numbers) //output will be 4. More convenient than passing an array to the function on integers