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

如何使用JSDoc为TypeScript接口方法添加类型描述?

为TypeScript接口方法添加类型描述的正确方式

针对你遇到的问题,以下是两种适配不同接口写法的正确JSDoc注释方案:

方案1:适配属性式方法定义(你的代码写法)

对于你代码中init: () => void这种属性式的方法定义,需要使用@type注解关联类型并补充描述:

/**
 * @interface Foo的接口定义
 */
interface IFoo {
  /**
   * 初始化实例的方法
   * @type {() => void}
   */
  init: () => void;
}

class Foo implements IFoo {
  /**
   * 执行初始化逻辑
   */
  public init(): void {}
}

这种写法能让文档工具正确识别方法的类型与描述。

方案2:改用方法式接口定义(更符合TS习惯)

如果将接口改为标准的方法式定义,TypeScript本身的类型声明会被文档工具自动识别,只需补充描述即可:

/**
 * @interface Foo的接口定义
 */
interface IFoo {
  /**
   * 初始化实例的方法
   */
  init(): void;
}

class Foo implements IFoo {
  /**
   * 执行初始化逻辑
   */
  public init(): void {}
}

这种写法下,TS的类型信息会直接被JSDoc工具读取,无需在注释中重复声明类型。

为什么@method不适用?

@method注解通常用于在JSDoc中定义对象字面量或类的方法,而非TypeScript接口的属性式方法声明。对于TS接口的类型成员,应该用@type关联类型,或者直接依赖TS本身的类型定义传递类型信息。

内容的提问来源于stack exchange,提问作者Slava.In

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:25:34