能否在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
相关产品推荐
相关产品推荐

