如何使用 JSDoc 来记录 ES6 class 属性

How to use JSDoc to document an ES6 class property

我正在使用 documentation package,但无法弄清楚如何让它记录 class 属性(不是通过 getter 和 setter 定义的)。

因为下面只为 SomeClass 生成 class 文档,但省略了 someProperty 文档。

/**
 * SomeClass is an example class for my question.
 * @class
 * @constructor
 * @public
 */
class SomeClass {
    constructor () {
        this.someProperty = true  // how do I document this?
    }

    /**
     * someProperty is an example property that is set to `true`
     * @property {boolean} someProperty
     * @public
     */
}

旁白:class jsdoc 上的 @constructordocumentation thing.

someProperty 的 JSDoc 移动到首次定义它的构造函数中:

/**
 * SomeClass is an example class for my question.
 * @class
 * @constructor
 * @public
 */
class SomeClass {
    constructor () {
        /**
         * someProperty is an example property that is set to `true`
         * @type {boolean}
         * @public
         */
        this.someProperty = true
    }
}

我不确定是否可以通过 documentation package 使用一种不涉及将 JSDoc 内联到构造函数中的方法来完成它。

另一种方法是在 class 文档中声明它们,如下所示:

/**
 * Class definition
 * @property {type} propName - propriety description
 * ...
 */
class ClassName {
  constructor () {...}
  ...
}