javascript - 使用枚举定义另一个枚举

标签 javascript enums rhino

在 JavaScript 中是否允许使用一个 Enum 来定义另一个 Enum?

var VESSEL_DOCUMENT_SUB_TYPE = {
//  PLAN_TYPE           :   {
//      
//  },
    /** @enum {Number} */
    CERTIFICATE_TYPE    :   {
        BUNKER_OIL_POLLUTION_DAMAGE :   CERTIFICATE_TYPE.BUNKER_OIL_POLLUTION_DAMAGE,
        P_I_COE                     :   CERTIFICATE_TYPE.P_I_COE,
        H_M_SINGLE_COVER_NOTE       :   CERTIFICATE_TYPE.H_M_SINGLE_COVER_NOTE
    }/*,
    OTHER               :   {

    }*/
};

var CERTIFICATE_TYPE = {
    /** Bunker Oil Pollution Damage */
    BUNKER_OIL_POLLUTION_DAMAGE :   0,
    /** P&I (COE) */
    P_I_COE                     :   1,
    /** H&M Single Cover Note */
    H_M_SINGLE_COVER_NOTE       :   2
};

最佳答案

是的,这是允许的。唯一的问题是,我收到运行时错误,因为 CERTIFICATE_TYPE 应该在 VESSEL_DOCUMENT_SUB_TYPE

之前定义
var CERTIFICATE_TYPE = {
    /** Bunker Oil Pollution Damage */
    BUNKER_OIL_POLLUTION_DAMAGE :   0,
    /** P&I (COE) */
    P_I_COE                     :   1,
    /** H&M Single Cover Note */
    H_M_SINGLE_COVER_NOTE       :   2
};

var VESSEL_DOCUMENT_SUB_TYPE = {
//  PLAN_TYPE           :   {
//      
//  },
    /** @enum {Number} */
    CERTIFICATE_TYPE    :   {
        BUNKER_OIL_POLLUTION_DAMAGE :   CERTIFICATE_TYPE.BUNKER_OIL_POLLUTION_DAMAGE,
        P_I_COE                     :   CERTIFICATE_TYPE.P_I_COE,
        H_M_SINGLE_COVER_NOTE       :   CERTIFICATE_TYPE.H_M_SINGLE_COVER_NOTE
    }/*,
    OTHER               :   {

    }*/
};

关于javascript - 使用枚举定义另一个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21379467/

相关文章:

javascript - 在谷歌地图API中向多个标记添加标签

javascript - 如何防止使用 Parsleyjs 从 DOM 中删除表单验证错误

javascript - SVG 动画在以编程方式设置样式时有效,但在仅使用样式表时无效

swift - 在 Swift 中比较枚举

java - 如何在 Spring 应用程序上下文中注入(inject) Jakarta 枚举?

javascript - 如何在不使用 setTimeout 的情况下异步运行 javascript 函数?

javascript - 在 Rhino 中加载当前文件的相对路径上的文件

javascript - 更改放置在模态页脚中的按钮的任务

java - 如何在Rhino中检查一个对象是否是JavaScript对象

c - 如何从头文件访问枚举到 C 中的主程序?