如何用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生成工具都会自动识别为实例属性,生成文档时会和入参对应的属性共同展示。 - 标注实例方法:
- 挂载在原型上的实例方法,直接在方法的注释块中使用
@method 构造函数名#方法名格式声明即可,其中#符号专门用于标识实例成员,无需额外配置即可在生成的文档中归类到实例方法板块。 - 如果你需要标注方法的入参和返回值,正常使用
@param和@returns标签即可,规则和构造函数的参数标注一致。
- 挂载在原型上的实例方法,直接在方法的注释块中使用
如果使用ES6 Class语法编写,标注规则基本一致:@property写在Class的顶部注释块中,实例方法直接在方法上方写注释即可,JSDoc会自动识别为实例成员,无需额外写@method 类名#方法名声明。
内容的提问来源于stack exchange,提问作者Jackezo Opiklam
相关产品推荐
相关产品推荐

