如何在 class 构造函数中记录对象?

How to document an object within a class constructor?

我目前正在使用 JSDoc 尝试记录以下代码...

class Test {
  /**
   * @param {Object} raw The raw data.
   */
  constructor(raw) {
    /**
     * Used for things and stuff. It can be useful when referencing Test.myObject.myValue.
     * @type {Object}
     */
    this.myObject = {
      /**
       * This is my string... It does things. Very useful.
       * @type {String}
       */
      myValue: raw.thisIsMyValue
    }
  }
}

但我不太清楚该怎么做。上面的示例在 VSCode 中有效,但在生成文档时无效。我试过 typedef,但没有用,因为它使它成为全局 typedef 而不是 Test class 原型的一部分。我该怎么做?

我知道如何使用@param 为函数定义 "anonymous" 对象,但我不知道如何为 class 原型定义它。我已经在谷歌上搜索了一个半多小时,但一无所获。

我想通了

  1. 我的调试方法没有帮助,因为我用于文档生成器的主题隐藏了属性。
  2. 创建 typedef 时,将对象前面的类型取出,然后将其列为属性!

示例

class Test {
  /**
   * @param {Object} raw The raw data.
   */
  constructor(raw) {
    /**
     * Used for things and stuff. It can be useful when referencing Test.myObject.myValue.
     * @typedef MyObject
     * @property {String} myValue This is my string... It does things. Very useful.
     */
    this.myObject = {
      myValue: raw.thisIsMyValue
    }
  }
}