TypeScript 中將字串轉換為列舉

Muhammad Maisam Abbas 2023年1月30日
  1. Typescript 中的列舉資料型別
  2. TypeScript 中的數字列舉
  3. TypeScript 中基於字串的列舉
  4. TypeScript 中的多個列舉
TypeScript 中將字串轉換為列舉

列舉型別是為變數預定義常量的資料型別。該變數必須在列舉中為其定義一個值。

本教程將討論 Typescript 中列舉的概念。

Typescript 中的列舉資料型別

Typescript 允許使用者使用列舉型別作為變數的資料型別。列舉的一個常見示例是月份的名稱,使用者必須選擇一年中定義的月份。

Typescript 提供基於字串和數字的列舉。

TypeScript 中的數字列舉

列舉是使用關鍵字 enum 定義的,顧名思義,數字列舉用於數值。

示例程式碼:

enum basicEnum {
  a = 3,
  b = 6,
  c = 7,
}
console.log(basicEnum);

輸出:

{
  "3": "a",
  "6": "b",
  "7": "c",
  "a": 3,
  "b": 6,
  "c": 7
}

這是一個簡單的列舉型別例項。讓我們再舉一個例子。

例子:

enum basicEnum {
  a = 3,
  b,
  c,
}
console.log(basicEnum);

輸出:

{
  "3": "a",
  "4": "b",
  "5": "c",
  "a": 3,
  "b": 4,
  "c": 5
}

在上面的示例中,第一個變數 a 被宣告,其餘的從該初始化值遞增 1。

如果使用者未定義每個變數。然後這些值將從 0 開始,其餘的將遞增 1。

使用者還可以獲得列舉上的單個變數。

示例程式碼:

enum basicEnum {
  a = 3,
  b = 6,
  c = 7,
}
console.log('The first enum variable a has a value = ' + basicEnum.a);
console.log('The second enum variable b has a value = ' + basicEnum.b);
console.log('The last enum variable c has a value = ' + basicEnum.c);

輸出:

The first enum variable a has a value = 3
The second enum variable b has a value = 6
The last enum variable c has a value = 7

上面的示例顯示了對列舉的每個變數的訪問。

TypeScript 中基於字串的列舉

基於字串的列舉與基於數字的列舉操作相同,但每個變數都必須在基於字串的列舉中初始化。如果變數需要為空,則必須將其宣告為空字串。

示例程式碼:

enum stringEnum {
  a = "Hello",
  b = "Bye",
  c = "",
}
console.log(stringEnum);

輸出:

{
  "a": "Hello",
  "b": "Bye",
  "c": ""
}

上面的例子展示了基於字串的列舉的使用。請注意如何為成員 c 定義一個空字串。

如果使用者未定義變數,則會引發錯誤。

示例程式碼:

enum stringEnum {
  a = "Hello",
  b = "Bye",
  c,
}
console.log(stringEnum)

輸出:

{
  "a": "Hello",
  "b": "Bye",
  "c": undefined,
  "undefined": "c"
}

注意輸出 c 是未定義的。對於變數 c 列舉成員不返回未定義,它必須有一個初始化程式。

TypeScript 中的多個列舉

使用者可以在 typescript 中定義多個列舉。這是保持數字和基於字串的列舉分開的好習慣。

示例程式碼:

enum firstEnum {
  a = "Hello",
  b = "Bye",
  c = "",
}

enum secondEnum {
  x = 2,
  y = 4,
  z = 8,
}
console.log(firstEnum);
console.log(secondEnum);

輸出:

{
  "a": "Hello",
  "b": "Bye",
  "c": ""
}
{
  "2": "x",
  "4": "y",
  "8": "z",
  "x": 2,
  "y": 4,
  "z": 8
}

讓我們再舉一個例子來討論列舉資料型別的錯誤使用。

示例程式碼:

enum badEnum {
  a = "Hello",
  b = 4,
}
console.log(badEnum);

輸出:

{
  "4": "b",
  "a": "Hello",
  "b": 4
}

在這裡,它表明無論何時定義列舉,各個成員都必須具有相同的資料型別。儘管 typescript 不會引發錯誤,但以這種方式處理 enum 是一種不好的做法。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn