如何在JSDoc中为非入参的普通对象添加文档标注
JSDoc 标注非参数普通对象的两种常用方法
针对函数内部定义、不属于入参的普通对象,有两种符合JSDoc规范的标注方案,IDE均可正常识别类型提示:
方案1:内联直接标注(适合单次使用的临时对象)
直接在变量声明的上一行添加@type标注,直接写明对象的属性和对应类型即可,示例如下:
/** * Update User * @param {Object} params * @param {String} params.oldName * @param {String} params.oldAge */ const onChangeUser = params => { // 业务逻辑省略 /** @type {{name: string, age: number}} */ let object1 = { name: '', age: 0, }; };
方案2:预定义自定义类型(适合结构需要多处复用的场景)
如果该对象结构会在多段代码中用到,可以先用@typedef预定义一个自定义类型,后续直接引用即可,还可以给属性添加说明注释:
/** * @typedef {Object} UserInfo * @property {string} name 用户真实姓名 * @property {number} age 用户年龄 */ /** * Update User * @param {Object} params * @param {String} params.oldName * @param {String} params.oldAge */ const onChangeUser = params => { // 业务逻辑省略 /** @type {UserInfo} */ let object1 = { name: '', age: 0, }; };
内容的提问来源于stack exchange,提问作者Juan David
相关产品推荐
相关产品推荐

