gpt4 book ai didi

JavaScript ES6 : use case for destructuring rest parameter

转载 作者:数据小太阳 更新时间:2023-10-29 05:17:32 25 4
gpt4 key购买 nike

我刚刚在 MDN 中看到一个关于解构其余参数的代码片段,如下所示:

function f(...[a, b, c]) {
return a + b + c;
}

f(1) // NaN (b and c are undefined)
f(1, 2, 3) // 6
f(1, 2, 3, 4) // 6 (the fourth parameter is not destructured)

代码片段在此页面中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters

尽管剩余参数的常见用例对我来说非常清楚(function foo(...params){/*code*/>),但我无法考虑真实世界的用例像代码片段中介绍的那样使用剩余参数。相反,我认为在那种情况下,我应该只使用一个通用的函数定义:

function f(a, b, c) {
return a + b + c;
}

f(1) // NaN (b and c are undefined)
f(1, 2, 3) // 6
f(1, 2, 3, 4) // 6 (the fourth parameter is not defined)

最佳答案

您的 function f(a, b, c) { … } 确实是正确的写法。它与 rest+destructuring 语法之间的唯一区别是 rest 参数不会增加参数的数量,即 f.length == 0

将数组解构模式作为剩余参数的目标确实没有什么好的用例。仅仅因为语法允许它并不意味着它在某个地方有用。 MDN 示例可能应该更清楚地说明这一点。

关于JavaScript ES6 : use case for destructuring rest parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48026189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com