【TypeScript】enum型を使おう!

ANGULAR

みなさんこんにちは、現役エンジニアのサメハックです

未経験からWebエンジニアに転職し、
正社員として5年働いたのちフリーランスとして独立しました。

TypeScriptの解説シリーズです。

今回はenum型について学んでいきましょう!

駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!

この記事を読むと・・・
  • enum型の使い方がわかる
型が厳格に指定できるので、とても便利だよ!

enum型について

enum型とは

ENUM型(列挙型)は関連する値の集合を表現するデータ型です。

たとえば色や曜日、月、状態などの値のセットをENUM型を使用して表現できます。

Red, Blue, Pinkのように値を列挙して使用するよ!

enum型の構文

export enum データ名 {
    値1,
    値2,
    値3,
    値4,
}
同一ファイル内で使用するだけならexportはいらないよ!

サンプルコード

// 曜日を表すENUM型
enum DayOfWeek {
  Sunday,     
  Monday,     
  Tuesday,    
  Wednesday,  
  Thursday,   
  Friday,     
  Saturday    
}

// 変数をDayOfWeek型として宣言
let today: DayOfWeek;

// 水曜日を定義
today = DayOfWeek.Wednesday;

// ENUM型の値を文字列で取得して表示
console.log(DayOfWeek[today]); // "Wednesday"

// Saturdayの実際の値を取得
console.log(DayOfWeek.Saturday); // 6
このように使うよ!

enum型の正体

enum DayOfWeek {
  Sunday,     // 0
  Monday,     // 1
  Tuesday,    // 2
  Wednesday,  // 3
  Thursday,   // 4
  Friday,     // 5
  Saturday    // 6
}

enum型の中身は実はただの整数値です。
整数に値をマッピングして管理しやすいようにしています。

enum型を活用すると
マジックナンバー(ハードコーディングされた数値)の使用を避けることができるよ!

enum型と紐づく整数値を任意に設定したい

enum型は基本的に0からスタートします。

しかし、DBの値と紐づけて管理したいときなどには
任意の整数値を設定することができます。

export enum UserId {
    Samehack = 1,
    Tom = 10,
    John = 99
}

console.log(UserId.Samehack); // 1
console.log(UserId.Tom); // 10
console.log(UserId.John); // 99
こうすることで、一時的な値以外にもenum型を使用できるよ!

まとめ

  • ENUM型(列挙型)は関連する値の集合を表現するデータ型
  • 値と整数値が紐づく
  • 整数値は基本的に0スタートだが任意の整数値の設定も可能

満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈

タイトルとURLをコピーしました