TypeScriptのenum
2020/07/18
概要
定数を定義するのに便利な TypeScript の enum の基本を紹介します!
enum の定義・使い方
// enumを定義
enum drinkPrice {
SMALL = 150,
MEDIUM = 250,
LARGE = 350,
}
const coffee = {
price: 300,
size: drinkPrice.MEDIUM,
};
// 出力
console.log(coffee.size); // 350
宣言した値の型
drinkPrice.MEDIUM は enum 型となります。
再代入
readonly プロパティのため、再代入できません。
初期値を省略した場合
// 初期化していない場合、indexの0始まりになる
enum drinkSize {
SMALL,
MEDIUM,
LARGE,
}
const coffee = {
price: 300,
size: drinkSize.MEDIUM,
};
// 出力
console.log(coffee.size); // 2
定義された数値を基準に、インクリメントされます。
そのため、MEDIUM,LARGE は 151,152 となります。
enum drinkSize {
SMALL = 150
MEDIUM,
LARGE,
}
最後に
定数を定義するのに enum は便利かと思いますが、他の記事で enum を使用しないことを薦めているものがありました。
Tree shaking ができなかったり、使い方によっては型安全ではないようです。
良いところ、悪いところ両方目を通して enum を使用すべきか検討してください!