问题标签 [rest-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
385 浏览

javascript - 为什么 JavaScript 中的其余参数都这样称呼?

为什么 JavaScript 中的rest 参数是这样称呼的?

0 投票
6 回答
12806 浏览

javascript - javascript中rest参数和扩展运算符的使用

将在 ECMAScript 6 中添加的 rest 参数的用途是什么?

例如,在 ECMAScript 5 中,您可以执行以下操作来获取从第二个元素开始的参数数组:

这将等同于 ECMAScript 6 中的以下代码:

它们之间的区别仅仅是语法还是存在性能问题?

也适用于扩展运算符 (...)

这只是语法更改还是性能问题?

0 投票
11 回答
32725 浏览

javascript - ES2015 / ES6 中的扩展语法与休息参数

我对 ES2015 中的扩展语法和休息参数感到困惑。任何人都可以用适当的例子解释它们之间的区别吗?

0 投票
4 回答
52209 浏览

javascript - 函数定义中的“...args”(三个点)是什么意思?

在 Javascript 中阅读这种语法对我来说真的很困惑:

...args是什么意思?

0 投票
3 回答
4463 浏览

javascript - 是否可以在休息参数上设置默认参数值

ES6 引入了一系列方便的“语法糖”。其中包括 JavaScript 函数的默认参数能力,以及其余参数。我发现每当尝试在休息参数上设置默认参数值时,我的控制台(或 devTools)都会抱怨(抛出错误)。我发现在其他地方很少提到这个特定问题,我想知道1.)是否可以这样做,以及2.)为什么不这样做(假设不可能)。

例如,我设计了一个微不足道的(但希望仍然是有目的的)示例。在函数的第一次迭代中,我构造了函数,使其可以工作(也就是说,没有给 rest 参数一个默认值)。

但是,现在使用默认值:

任何帮助是极大的赞赏。

0 投票
5 回答
638 浏览

javascript - javascript es6: use case for destructuring rest parameter

I just saw a code snippet in MDN about destructuring rest parameters like so:

the code snippet is in this page: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters

Although the common use case for rest parameters is very clear to me (function foo(...params){/*code*/}) I could not think about a real world use case to use rest parameters like the way presented in that code snippet. Instead, I think that in that case, I should just use a common function definition:

0 投票
1 回答
11511 浏览

javascript - 在 TypeScript 中使用解构和休息的类型化函数参数

我有一个功能:

鉴于 'name' 是一个字符串,'onChange' 是一个函数,'value' 是一个字符串,'meta' 是一个对象,我如何向这些参数添加类型?我最好的猜测是这样的:

但它似乎有语法错误。甚至更多我不知道如何将类型添加到其余参数。

0 投票
1 回答
167 浏览

javascript - Array.prototype.slice.call(arguments) 与 [...args] 有什么区别?

我知道它Array.prototype.slice.call(arguments)用于将参数创建到一个真实的数组中,如下所示:

我也可以使用spread operator来实现与以下相同的功能

除了在使用方面不那么冗长之外spread operator,这两种方法之间有什么区别?

0 投票
0 回答
31 浏览

javascript - 缺少 Javascript 休息参数

该函数显示f(path)没有其余参数?

如果我将其更改为..

第二个会出现。。 f(path, second)

就像休息参数被删除一样。为什么是这样?

0 投票
1 回答
79 浏览

typescript - Type Guard Typescript 未正确推断函数剩余参数

我有一个带有类型保护和函数剩余参数的 Typescript 示例:

其余参数和类型保护有什么问题?

TS游乐场


更新解决方案:

我找到了解决方案,Assert Functions用于解决问题。

TS游乐场