无法记录枚举

idm*_*ean 4 javascript jsdoc

我正在尝试记录这样的枚举:

/**
 * Enum for the different types of tokens
 * @memberof Ecre
 * @enum {number}
 * @readonly
 */
Ecre.TokenTypes = Object.freeze({
    /**
     * A string token
     */
    "string": 1,
    "comment": 2,
    "number": 3,
    "boolean": 4,
    "identifier": 5
});
Run Code Online (Sandbox Code Playgroud)

但这并不像例外一样工作:string被记录为全局。

如何才能以正确的方式记录这些值?

我正在使用 JSDoc 3.3.0-alpha9(2014 年 6 月 28 日星期六 15:26:03 GMT)

小智 5

这是一个很老的问题,但答案仍然可能有帮助。由于Object.freeze会冻结对象,因此您可以在定义 enum 后调用它。

/**
 * Enum for the different types of tokens
 * @memberof Ecre
 * @enum {number}
 * @readonly
 */
Ecre.TokenTypes = {
    "string": 1,
    "comment": 2,
    "number": 3,
    "boolean": 4,
    "identifier": 5
};
Object.freeze(Ecre.TokenTypes);
Run Code Online (Sandbox Code Playgroud)