@use JSDoc

语法

@hideconstructor

概述

@hideconstructor 标记告诉 JSDoc 生成的文档不应显示类的构造函数。此标记在 JSDoc 3.5.0 及更高版本中可用。

对于 pre-ES2015 类,将此标记与 @class@constructor 标记结合使用。

对于 ES2015 类,在构造函数的 JSDoc 注释中使用此标记。如果你的类没有显式构造函数,请在类的 JSDoc 注释中使用此标记。

示例

带有 pre-ES2015 类的 @hideconstructor 标记
/**
 * @classdesc Toaster singleton.
 * @class
 * @hideconstructor
 */
var Toaster = (function() {
    var instance = null;

    function Toaster() {}

    /**
     * Toast an item.
     *
     * @alias toast
     * @memberof Toaster
     * @instance
     * @param {BreadyThing} item - The item to toast.
     * @return {Toast} A toasted bready thing.
     */
    Toaster.prototype.toast = function(item) {};

    return {
        /**
         * Get the Toaster instance.
         *
         * @alias Toaster.getInstance
         * @returns {Toaster} The Toaster instance.
         */
        getInstance: function() {
            if (instance === null) {
                instance = new Toaster();
                delete instance.constructor;
            }

            return instance;
        }
    };
})();
带有 ES2015 类的 @hideconstructor 标记
/**
 * Waffle iron singleton.
 */
class WaffleIron {
    #instance = null;

    /**
     * Create the waffle iron.
     *
     * @hideconstructor
     */
    constructor() {
        if (#instance) {
            return #instance;
        }

        /**
         * Cook a waffle.
         *
         * @param {Batter} batter - The waffle batter.
         * @return {Waffle} The cooked waffle.
         */
        this.cook = function(batter) {};

        this.#instance = this;
    }

    /**
     * Get the WaffleIron instance.
     *
     * @return {WaffleIron} The WaffleIron instance.
     */
    getInstance() {
        return new WaffleIron();
    }
}