如何使用JSDoc记录ES6类属性

时间:2018-07-22 17:55:48

标签: jsdoc es6-class

我正在使用documentation package,但无法弄清楚如何将其用于文档类属性(不是通过getter和setter定义的)。

如下所示,只是为SomeClass生成了类文档,但是省略了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
     */
}

顺便说一句:jsdoc类上的@constructordocumentation thing

2 个答案:

答案 0 :(得分:4)

将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使用不涉及将JSDocs内联到构造函数中的方法来实现。

答案 1 :(得分:2)

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

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