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

如何用JSDoc标注构造函数生成实例的自有属性与方法?

正确的JSDoc标注示例

/**
 * 任务构造函数
 * @constructor
 * @param {String} title - 任务标题
 * @param {Boolean} important - 任务是否重要
 * @property {Number} state - 任务状态,默认值为1
 * 1 = 未完成
 * 2 = 处理中
 * 3 = 已完成
 */
function Task(title, important) {
    this.title = title
    this.important = important
    this.state = 1
}

// 实例方法标注示例:标记任务为已完成
/**
 * 将任务状态修改为已完成
 * @method Task#markAsFinished
 * @returns {void}
 */
Task.prototype.markAsFinished = function() {
    this.state = 3
}

// 实例方法标注示例:获取任务状态文本
/**
 * 获取任务状态对应的中文描述
 * @method Task#getStateText
 * @returns {String} 状态文本
 */
Task.prototype.getStateText = function() {
    const stateMap = {
        1: '未完成',
        2: '处理中',
        3: '已完成'
    }
    return stateMap[this.state]
}

核心标注规则说明

  • 标注无入参的实例属性:在构造函数的注释块中使用@property标签声明即可,你需要在标签后依次写属性类型、属性名、属性说明、默认值和取值规则,主流JSDoc生成工具都会自动识别为实例属性,生成文档时会和入参对应的属性共同展示。
  • 标注实例方法:
    1. 挂载在原型上的实例方法,直接在方法的注释块中使用@method 构造函数名#方法名格式声明即可,其中#符号专门用于标识实例成员,无需额外配置即可在生成的文档中归类到实例方法板块。
    2. 如果你需要标注方法的入参和返回值,正常使用@param和@returns标签即可,规则和构造函数的参数标注一致。

如果使用ES6 Class语法编写,标注规则基本一致:@property写在Class的顶部注释块中,实例方法直接在方法上方写注释即可,JSDoc会自动识别为实例成员,无需额外写@method 类名#方法名声明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:04