次のように、Week 列挙型を定義します:
var WeekDay = {};
平日.日曜日 = 0;
WeekDay.Monday = 1;
平日.火曜日 = 2;
WeekDay.Wedesay = 3;
平日.木曜日 = 4;
WeekDay.Friday = 5;
平日.土曜日 = 6;
}
もちろん、より直感的な方法があります。例として DOM ドキュメント ノード タイプの定義を取り上げます。定義は次のとおりです。
var ノード = {
ELEMENT_NODE: 1、
ATTRIBUTE_NODE: 2、
TEXT_NODE: 3、
CDATA_SECTION_NODE: 4、
ENTITY_REFERENCE_NODE: 5、
ENTITY_NODE: 6、
PROCESSING_INSTRUCTION_NODE: 7、
COMMENT_NODE: 8、
DOCUMENT_NODE: 9、
DOCUMENT_TYPE_NODE: 10、
DOCUMENT_FRAGEMENT_NODE: 11、
NOTATION_NODE: 12
}
}
C 系言語と同様、上記 2 つの例の列挙型に対応する属性値はすべて整数です。これを別のタイプとして定義できるのではないかと考えているかもしれません。この質問に答えるには、まず列挙実装の原理を知る必要があります。前述したように、これは JSON を使用して実装されており、JSON では任意のタイプの値を使用できます。したがって、JS の列挙には任意のタイプの値を指定できます。以下では例として String 型を取り上げます:
var Color = {
カラー1: '赤'、
色 2: '緑'、
カラー 3: '白'、
Color4: 'black'
}
}
次のように、より複雑な型の PersonList 列挙を定義します:
var PersonList = {
チャンサン: {
ID: 1、
名前: 'ZhangSan'、
性別: '男性'
}、
リシ: {
ID: 2、
名前: 'LiSi'、
性別: '女性'
}、
趙武: {
ID: 3、
名前: 'ZhaoWu'、
性別: '男性'
}
}
}