TS — 列舉(詳解)

萬事順意發表於2024-04-17

在 TypeScript 中,列舉(Enum)是一種資料型別,用於定義一組命名的常量值。列舉可以幫助開發者更清晰地表達意圖,提高程式碼的可讀性和可維護性。

1. 列舉的基本語法:

enum Direction {
  Up,
  Down,
  Left,
  Right,
}

//Direction 列舉定義了四個常量值:Up、Down、Left、Right。預設情況下,列舉成員的值是從 0 開始遞增的。因此,Direction.Up 的值為 0,Direction.Down 的值為 1,以此類推。

2. 修改列舉成員的值:

enum Direction {
  Up = 1,
  Down = 2,
  Left = 3,
  Right = 4,
}

//我們為每個列舉成員指定了一個特定的值。現在,Direction.Up 的值為 1,Direction.Down 的值為 2,以此類推。

3. 使用列舉:

let playerDirection: Direction = Direction.Up;
console.log(playerDirection); // 輸出:1

//列舉成員可以直接透過列舉型別來訪問,也可以透過列舉的值來訪問。

4. 字串列舉:

enum Color {
  Red = "RED",
  Green = "GREEN",
  Blue = "BLUE",
}

//列舉成員的值為字串型別。

5. 計算的和常量成員:

enum FileAccess {
  // 常量成員
  None,
  Read = 1 << 1,
  Write = 1 << 2,
  ReadWrite = Read | Write,
  // 計算的成員
  G = "123".length,
}

//常量成員是指沒有初始化表示式的列舉成員,或者被初始化為常量表示式的列舉成員。計算的成員是指被初始化為非常量表示式的列舉成員。

6. 常用列舉操作:

  • 獲取列舉成員的數量:Object.keys(Direction).length
  • 獲取列舉成員的名稱:Direction[1] 返回 Up

相關文章