typescript 列挙型 (enum) を使用する

typescript 列挙型 (enum) を使用する

typescriptで、列挙型 (enum) を使用するサンプルコード記述してます。typescriptのバージョンはVersion 4.1.2となります。

環境

  • OS windows10 64bit
  • typescript Version 4.1.2

列挙型 (enum)定義

列挙型 (enum)は、以下のようにenumキーワードを使用して定義します。

enum Person {
    tom,
    judy,
    yamada
}

console.log(Person.tom);  // 0
console.log(Person.judy);  // 1

console.log(Person[Person.tom]);  //tom

コンパイルするとわかりやすいので、上記のコードをコンパイルとすると以下のjsとなり、連想配列にインデックス番号が割り振られていることが確認できます。

var Person;
(function (Person) {
    Person[Person["tom"] = 0] = "tom";
    Person[Person["judy"] = 1] = "judy";
    Person[Person["yamada"] = 2] = "yamada";
})(Person || (Person = {}));
console.log(Person.tom); // 0
console.log(Person.judy); // 1
console.log(Person[Person.tom]); //tom

また、列挙型 (enum)はインデックス番号を割り振ることが可能です。

enum Person {
    tom = 10,
    judy = 20,
    yamada = 30
}

console.log(Person.tom);  // 10
console.log(Person.judy);  // 20

console.log(Person[10]);  // tom
console.log(Person[20]);  // judy

console.log(Person[Person.tom]);  //tom