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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:54:05