TypeScriptにはJavaScriptにない機能がたくさんあり、その一つとしてenum型がある。
例えば果物の種別をenum型で定義すると、Fruits.Apple
は0、Fruits.Orange
は1のように連続した値が割り当てられる。
enum Fruits {
Apple,
Orange,
Banana,
}
逆に0からApple
という文字列を求めたい時は以下のようなコードを書いていた。
function getkeyName(value: Fruits) {
if (value === Fruits.Apple) {
return 'Apple';
} else if (value === Fruits.Orange) {
return 'Orange';
} else if (value === Fruits.Banana) {
return 'Banana';
}
}
ところがTypeScriptでは*enum型[enum型のvalue]*と書くことにより、キー名が取得できる。
function getKeyName(value: Fruits) {
return Fruits[value];
}
前のコードより短く書けた。
これに限らずTypeScriptにはいろいろな書き方があるので、公式ドキュメントを読み漁ったりするとよりスマートな記述が可能になることが多いと思った。