jjzjj

JavaScript ES6 : use case for destructuring rest parameter

coder 2024-12-18 原文

我刚刚在 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/

有关JavaScript ES6 : use case for destructuring rest parameter的更多相关文章

  1. java - AuthorizationServerConfigurerAdapter 与 WebSecurityConfigurerAdapter 之间的区别 - 2

    这些类之间有什么区别?我知道WebSecurityConfigurerAdapter用于自定义我们应用程序的“安全性”。我做了什么:publicclassSecurityConfigextendsWebSecurityConfigurerAdapter{@AutowiredCustomUserDetailsServicecustomUserDetailsService;@AutowiredprivateJwtAuthenticationEntryPointunauthorizedHandler;但是我不明白AuthorizationServerConfigurerAdapter的意思。

  2. 带有字段名称的 MySql AF​​TER UPDATE 触发器 - 2

    下面列出了两个表格。当一个字段在“switches”上更新时,我需要向“switch_updates”插入一个条目,其中包括更新的字段名称、旧值和新值。我已经包含了我已经启动的触发器,但我无法弄清楚如何提取已更新字段的名称。---------------------|switches|---------------------|id||name(varchar)||functional(int)|--------------------------------------------------|switch_updates|-----------------------------|

  3. IOS OpenGL ES GPUImage 图像阈值边缘检测GPUImageThresholdEdgeDetectionFilter - 2

    目录一.简介二.效果演示三.源码下载四.猜你喜欢零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES基础零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES转场零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES特效零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES函数零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLESGPUImage使用零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>Op

  4. IOS OpenGL ES GPUImage 图像阈值边缘检测GPUImageThresholdEdgeDetectionFilter - 2

    目录一.简介二.效果演示三.源码下载四.猜你喜欢零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES基础零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES转场零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES特效零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLES函数零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>OpenGLESGPUImage使用零基础OpenGL(ES)学习路线推荐:OpenGL(ES)学习目录>>Op

随机推荐