【问题标题】:Dynamic @returns in JSDoc, based on @param valueJSDoc 中的动态@returns,基于@param 值
【发布时间】:2018-06-26 03:24:44
【问题描述】:

有没有办法记录函数,所以 vscode-intellisense 知道 getObject("player") 返回 Player 类型,getObject("bullet") 返回 Bullet 类型?

/**
 * @param  {string} type
 * @return {????}
 */
function getObject(type) {
    switch (type) {
        case 'player': return new Player();
        case 'bullet': return new Bullet();
    }
}

这个功能的一个例子是document.createElement(...)

document.createElement("canvas") => 智能感知知道它是 HTMLCanvas 类型。

【问题讨论】:

    标签: javascript visual-studio-code jsdoc jsdoc3


    【解决方案1】:

    你不能用 jsdocs 做到这一点。

    document.createElement 对其行为使用打字稿函数重载定义。你也可以这样使用*.d.ts

    declare function getObject(x: 'player'): Player;
    declare function getObject(x: 'bullet'): Bullet;
    

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 2016-01-14
      • 1970-01-01
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 2013-08-11
      • 1970-01-01
      相关资源
      最近更新 更多