Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用JSDoc记录私有构造函数_Javascript_Constructor_Private_Jsdoc - Fatal编程技术网

Javascript 用JSDoc记录私有构造函数

Javascript 用JSDoc记录私有构造函数,javascript,constructor,private,jsdoc,Javascript,Constructor,Private,Jsdoc,我有一个类,其中单个方法可以静态调用,但将返回一个新的类实例以进行链接,例如: var builder = ns .setState('a', 'A') .setState('b', 'B'); 其中Builder定义如下: /** * @module Builder */ /** * @class Builder */ /** * @private */ function Builder() { this.state = { query: {}

我有一个类,其中单个方法可以静态调用,但将返回一个新的类实例以进行链接,例如:

var builder = ns
  .setState('a', 'A')
  .setState('b', 'B');
其中
Builder
定义如下:

/** 
 * @module Builder 
 */

/**
 * @class Builder 
 */

/**
 * @private
 */
function Builder() {
  this.state = {
    query: {}
  };
}
Builder.prototype = {
  /**
   * @param {string} k - The key
   * @param {object} v - The value
   * @return {Builder}
   */
  setState: function(k, v) {
    var that = (this instanceof Builder) ? this : new Builder();
    that[k] = v;
    return that;
  }
  // Other properties and methods…
}

Builder
构造函数不应该被用户代码显式调用,因此我不希望它出现在文档中。然而,我尝试过的JSDoc标记的所有组合(例如,
@private
@constructs
,等等)似乎都无法从构建的文档中抑制它

您应该能够使用
@ignore
指令来实现这一点。从文档中:

@ignore
标记表示代码中的符号不应出现在文档中。此标记优先于所有其他标记


从jsDoc的3.5.0版开始,您可以在类上使用标记,告诉
jsDoc
不要将构造函数包含到文档中

/**
 * @class Builder
 *
 * @hideconstructor
 */
function Builder() {
    // implementation
}