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

时间:2018-11-26 22:25:38

标签: javascript node.js jsdoc jsdoc3 documentationjs

我当前正在使用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类原型的一部分。我什至该怎么做?

我知道如何使用@param为函数定义一个“匿名”对象,但是我不知道如何为类原型进行此操作。我已经谷歌搜索了一个半小时以上,没有运气。

1 个答案:

答案 0 :(得分:0)

我知道了

  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
    }
  }
}