是否有任何只能通过使用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
答案 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