列挙型宣言及び列挙型変数は、コードの可読性向上のために多くの言語でenumというキーワードでサポートされています。Javascriptでも機能はサポートされているのですが、enumというキーワードは使わず通常のvarキーワードで宣言するので注意が必要です。構文の若干違います。(TypescriptではC、javaと同じ構文になっています。)
宣言
var 列挙型タグ名 {
定数1 = 1,
定数2 = 2,
|
定数n = n
};
列挙型変数定義と利用
var 変数;
変数 = 列挙型タグ名.定数i;
if( 変数 == 列挙型タグ名.定数i) {
処理a;
} else {
処理b;
}
サンプル
<!DOCTYPE html>
<html lang="UTF-8">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>enum in JavaScript</title>
<script type="text/javascript">
var SEASONS = {
SPRING : 1,
SUMMER : 2,
AUTUMN : 3,
WINTER : 4
};
var season;
season = SEASONS.SUMMER;
</script>
</head>
<body>
<script type="text/javascript">
alert("emun in javascript sample\n");
if(season == SEASONS.SUMMER){
alert("夏ですね");
} else {
alert("夏ではないですね");
}
</script>
</body>
</html>