是否可以使用ESDOC记录javascript普通对象?

时间:2016-12-29 23:35:20

标签: javascript documentation esdoc

ESDOC似乎只针对ES6类风格。

有没有办法记录像以下的普通对象:

/**
 * ???
 */
var Foo = {
    /**
     * ???
     */
    info: true
};

export default Foo;

即使使用ES6类样式,如何记录静态属性,如:

class Bar {
}

/**
 * ???
 */
Bar.info = true;

export default Bar;

2 个答案:

答案 0 :(得分:5)

简短回答。否。

ESDOC专门用于记录ES6类。这就是名字。来自FAQ

  

ESDoc支持ES2015及更高版本

如果您需要记录ES6 +和常规(原型)类的混合,JSDOC可能是更好的选择。它相当成熟,它的格式是一种事实上的标准。

如果您不喜欢或不能使用主JSDOC包,还有很多其他选择。例如,我在项目中使用jsdoc-to-markdown取得了成功。您应该能够找到将JSDOC转换为您需要的任何格式的工具。

答案 1 :(得分:1)

对于成员和变量,您应该使用@type

/**
* @type {Object}
* @property {boolean} Foo.info describe Foo.info
*/
const Foo = {
   info: true
};

对于es6中的静态属性,您应该使用className.method_member

/**
* This is Bar description.
*/
class Bar {
  /**
  * Bar.info
  */
  static info=true
}

检查esdoc输出here