【问题标题】:Using enum to define a another enum使用枚举定义另一个枚举
【发布时间】:2014-01-27 11:17:52
【问题描述】:

在 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
};

【问题讨论】:

    标签: javascript enums rhino


    【解决方案1】:

    是的,这是允许的。唯一的问题是,我得到一个运行时错误,因为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               :   {
    
        }*/
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-09
      • 2018-03-16
      • 1970-01-01
      • 2021-01-04
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      相关资源
      最近更新 更多