TypeScriptのEnum型は複数の定数をグループ化する強力な機能です。開発現場でよく使用されるEnum型について、基本的な使い方から実践的な活用法まで解説します。
Enum型の基本
Enum型は以下のように定義します:
enum Direction {
Up,
Down,
Left,
Right
}これにより、関連する定数をまとめて管理できます。デフォルトでは、最初の要素から0で番号が振られていきます。
数値の明示的な指定
Enumの各要素に明示的に数値を指定することもできます:
enum StatusCode {
OK = 200,
NotFound = 404,
InternalServerError = 500
}文字列Enum
TypeScript 2.4以降では、文字列をEnumの値として使用できます:
enum Color {
Red = "RED",
Green = "GREEN",
Blue = "BLUE"
}異なる型を混在させる
数値と文字列を混在させることも可能です:
enum Mixed {
Id = 1,
Name = "name",
Active = true
}const Enumの使用
パフォーマンスを最適化したい場合は、const enumを使用します:
const enum Constants {
MaxLength = 100,
DefaultValue = "default"
}実践的な使用例
APIのエンドポイントを管理する例:
enum ApiEndpoints {
Users = "/api/users",
Products = "/api/products",
Orders = "/api/orders"
}
// 使用例
fetch(ApiEndpoints.Users)Enumのループ処理
Enumの値を列挙する方法:
enum Days {
Monday,
Tuesday,
Wednesday
}
// 数値を取得
Object.values(Days).filter(x => !isNaN(Number(x)))
// キーを取得
Object.keys(Days).filter(x => isNaN(Number(x)))型安全性の確保
Enumを使用することで、型安全性が向上します:
enum UserRole {
Admin = "ADMIN",
User = "USER"
}
function checkAccess(role: UserRole) {
if (role === UserRole.Admin) {
console.log("管理者権限があります");
}
}ベストプラクティス
1. 意味のある名前を使用する
2. 関連する値をグループ化する
3. 可能な限り`const enum`を使用する
4. 文字列Enumを使用して型安全性を高める
まとめ
Enum型は、関連する定数をグループ化し、コードの可読性と保守性を向上させる優れた機能です。適切に使用することで、より堅牢なTypeScriptアプリケーションを開発できます。
Enum型の使用はTypeScriptプログラミングの基本スキルの一つとなっています。実際のプロジェクトでも積極的に活用することをお勧めします。