我一直在尝试使用 JSDoc 记录 JS 中的重载函数:
有 2 个用例:
assignSlave(ticket, userid);
assignSlave(ticket, firstname, lastname);
Run Code Online (Sandbox Code Playgroud)
我想让它在 VSCode 中看起来像这样:
情况1

案例2

等等...
我尝试了这里给出的解决方案,但它对我不起作用:
/**
* Test
*
* @function assignSlave
* @param {String} ticket
* @param {String} userid
*//**
* Test2
*
* @function assignSlave
* @param {String} ticket
* @param {String} firstname
* @param {String} lastname
*/
function assignSlave(a, b, c){}
assignSlave()
Run Code Online (Sandbox Code Playgroud)
我明白了:

有没有办法实现我想要做的事情?
ETA:我尝试了这篇文章,但不确定它在我的情况下是如何工作的。
在 TypeScript 5 中,您可以使用新@overload标签:
/**
* @overload
* @param {string} ticket
* @param {string} userId
*//**
* @overload
* @param {string} ticket
* @param {string} firstname
* @param {string} lastname
*//**
* @param {string} a
* @param {string} b
* @param {string} c
*/
function assignSlave(a, b, c) {}
Run Code Online (Sandbox Code Playgroud)
供参考:https ://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#overload-support-in-jsdoc