You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在JsDoc的@returns属性中定义联合类型?

能否在JsDoc的@returns中定义联合类型?

完全可以在JsDoc的@returns标签里定义联合类型,写法和TypeScript的联合类型语法一致,用|分隔不同类型即可。

你提供的示例代码里存在一处不匹配的问题:函数本身的TypeScript返回类型是string | void,但JsDoc的@returns却写了boolean | void,这会造成类型描述不一致,建议修正为{string | void},修正后的代码如下:

function isInputValid(email: string, password: string): string | void {
    /**
     * 验证用户的邮箱和密码输入
     * @param {string} email - 用户输入的邮箱
     * @param {string} password - 用户输入的密码
     * @returns {string | void} 返回不符合要求的输入项,若所有输入均合法则无返回值
     */
    if (!validEmail(email)) {
      return email;
    }

    if (!validPassword(password)) {
      return password;
    }
  }

除此之外,你还可以根据需求定义其他任意联合类型,比如{number | string | null}这类组合,只要是JsDoc支持的类型,都可以通过|组合成联合类型写在@returns里。

内容的提问来源于stack exchange,提问作者RomainM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:45:55