【问题标题】:How to comment a method returning a copy of this, using JSDoc?如何使用 JSDoc 注释返回此副本的方法?
【发布时间】:2020-08-15 17:17:15
【问题描述】:

如何使用 JSDoc 标签来描述这个 derivate() 返回值?我正在寻找一种语法来描述 (@returns) 对象创建,这是由当前对象和提供的属性的混合产生的,以改进自动完成。

我想像@returns @mixes (this, properties) 这样的东西,但显然它不是一个有效的语法。

const obj = {
  /**
   * @param {{
   *   ...properties: *
   * }} [properties]
     * @returns {{}}
     */
  derivate ({ ...properties } = {}) {
    return { ...this, ...properties }
  }
}

【问题讨论】:

  • 什么意思?普通的JS cmets不工作吗?或者这就是你要问的?
  • 感谢您的提问。我正在尝试评论 @returns,这是一个基于此 AND 属性的新对象,以改进 WebStorm 自动完成。
  • 好的,所以您不想注释掉任何行?您正在尝试添加描述性 cmets,但不知道如何描述您编写的函数?
  • 正是我的意思,“使用 JSDoc”。
  • 好的,那么不幸的是,我认为这个问题是基于意见的(因此偏离主题)。

标签: jsdoc


【解决方案1】:

刚刚找到一个解决方案(但tsc 不喜欢它,然后仍然开放寻求更好的解决方案):

/**
 * @typedef Obj
 * @type {Object}
 */

/**
 * @typedef Properties
 * @type {Object}
 */

/**
 * @typedef Return
 * @type {Object}
 * @augments Obj
 * @augments Properties
 */


/**
 * @type {Obj} obj
 */
const obj = {
  /**
   * @param {Properties} [properties]
   * @returns {Return}
   */
  derivate ({ ...properties } = {}) {
    return { ...this, ...properties }
  }
}

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 2015-06-02
    • 2023-04-09
    • 2013-08-13
    • 2017-05-25
    • 2015-01-13
    • 2015-01-31
    • 2017-10-01
    • 1970-01-01
    相关资源
    最近更新 更多