gpt4 book ai didi

javascript - 使中间参数可选的惯用方法

转载 作者:行者123 更新时间:2023-11-29 15:29:16 25 4
gpt4 key购买 nike

实现中间参数是可选的但最后一个参数是必需的 JavaScript 函数的常见方法是什么?惯用的 ES2015 解决方案是首选。

例如,我经常看到可以通过多种方式调用的函数,如下所示:

func(firstArg, callback);
func(firstArg, options, callback);

所以实际发生的是参数的数量影响每个参数的解释。

我知道我可以通过检查参数的长度来处理这个问题,就像这样:

//     func(firstArg, options, callback);
// or: func(firstArg, callback);
function (firstArg, ...args) {
let options = {};
if (args.length > 1) {
options = args.shift();
}
let callback = args[0];
// And do stuff ...
}

但它看起来很笨重。有更好的方法吗?

最佳答案

使用 ..argspop() 数组的回调:

function thing(...args) {
var cb = args.pop();
//... args is now [1, obj]
cb(args[0]);
}

thing(1, { a: 1 }, function (data) {
console.log(data); // 1
});

关于javascript - 使中间参数可选的惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454006/

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