在将JavaScript库协议转换为TypeScript时,我遇到了使用前置可选参数的情况,而不是常规/尾随参数。
JavaScript中的一个方法:
JavaScript中的一个方法:
db.task(function (context) {
// executing task
});
这个任务有一个可选的名称,可以在前面注入:
db.task('myTaskName', function (context) {
// executing task
});
这样做是为了使代码更易读,在任务名称位于结尾的情况下,将其置于前面看起来不正确/不直观。
在TypeScript中如何编写此类参数?
我知道我可以将两个参数都声明为可选项,但实际上并非如此,因为回调函数必须作为第一个或第二个参数之一提供。如果它使问题更简单,我们可以说 - 最后一个参数必须是回调函数。
(nameOrCallback,callback)
,然后检查callback === undefined
来确定如何处理nameOrCallback
。我希望没有人写这样的代码。 :) - Aaron Beall