LoginSignup
0
0

TypeScriptのEnum型について

Last updated at Posted at 2023-09-06

TypeScriptのenumは、特定の値の集合を表現するための方法の一つです。

  1. 基本的なenum
    最もシンプルな形のenumを以下に示します:
enum Colors {
    Red,
    Green,
    Blue
}

上記のColorsというenumを定義することで、Colors.RedやColors.Greenのようにしてその値にアクセスすることができます。また、enumの値はデフォルトで0から始まり、1ずつ増加していきます。したがって、Colors.Redの値は0、Colors.Greenの値は1、となります。

  1. 初期値や値の変更
    enumの要素には、任意の数値や文字列を割り当てることができます。
enum Colors {
    Red = 3,
    Green = 5,
    Blue = 7
}

この場合、Colors.Redの値は3になります。

文字列を使用することもできます:

enum Greetings {
    Hello = "こんにちは",
    Goodbye = "さようなら"
}
  1. Computed value
    enumの要素の値は、計算される値を持つことができます。しかし、計算される値を持つenumの要素の後ろに来るenumの要素には明示的な初期値を提供する必要があります。
enum Values {
    A,
    B = A * 2,
    C  // この行はエラーとなる
}
  1. 逆マッピング
    TypeScriptのenumは逆マッピングの機能を持っています。数値のenumであれば、その値から名前を取得することができます。
enum Colors {
    Red,
    Green,
    Blue
}


let colorName: string = Colors[0];  // "Red"

ただし、文字列のenumや計算される値を持つenumではこの機能は利用できません。

  1. const enum
    const enumは、enumの値がコンパイル時にインライン展開されるenumです。これにより、出力されるJavaScriptコードが短くなり、パフォーマンスが向上する場合があります。
const enum Directions {
    Up,
    Down,
    Left,
    Right
}

let dir: Directions = Directions.Up;  // コンパイル時に "0" として展開される

以上がTypeScriptのenumの基本的な使い方や特性です。どんな状況でenumを使用するかは、具体的なケースやプロジェクトの要件によって異なりますが、限定的な値の集合を扱う場面で非常に役立つことが多いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0