controller.update(...args)) .ge-6ren">
gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 01:21:47 27 4
gpt4 key购买 nike

在 Javascript 中阅读这个语法真的让我感到困惑:

router.route('/:id')
.put((...args) => controller.update(...args))
.get((...args) => controller.findById(...args));

...args 是什么意思?

最佳答案

关于 (...args) =>...args 是一个 rest parameter .它必须始终是参数列表中的最后一个条目,并且将为其分配一个数组,其中包含尚未分配给先前参数的所有参数。

它基本上是 arguments object 的替代品.而不是写作

function max() {
var values = Array.prototype.slice.call(arguments, 0);
// ...
}
max(1,2,3);

你可以写

function max(...value) {
// ...
}
max(1,2,3);

此外,由于箭头函数没有参数对象,这是创建可变(箭头)函数的唯一方法。


作为 controller.update(...args),参见 What is the meaning of "foo(...arg)" (three dots in a function call)? .

关于javascript - 函数定义中的 "...args"(三个点)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42184674/

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