TypeScript 列舉
Enum(列舉)是一種特殊的“類”,用於表示一組常量(不可變變數)。
列舉有兩種形式:string
(字串)和 numeric
(數字)。我們先從數字列舉開始。
數字列舉 - 預設
預設情況下,列舉會將第一個值初始化為 0
,後續值依次遞增。
示例
enum CardinalDirections {
North,
East,
South,
West
}
let currentDirection = CardinalDirections.North;
// 輸出 0
console.log(currentDirection);
// 丟擲錯誤,因為 'North' 不是有效的列舉
currentDirection = 'North'; // 錯誤: "'North' 不能賦值給型別 'CardinalDirections'。"
自己動手試一試 »
數字列舉 - 初始化
您可以設定第一個數字列舉的值,然後它將從該值開始自動遞增。
示例
enum CardinalDirections {
North = 1,
East,
South,
West
}
// 輸出 1
console.log(CardinalDirections.North);
// 輸出 4
console.log(CardinalDirections.West);
自己動手試一試 »
數字列舉 - 完全初始化
您可以為每個列舉值分配唯一的數字。這樣,值就不會自動遞增。
示例
enum StatusCodes {
NotFound = 404,
Success = 200,
Accepted = 202,
BadRequest = 400
}
// 輸出 404
console.log(StatusCodes.NotFound);
// 輸出 200
console.log(StatusCodes.Success);
自己動手試一試 »
字串列舉
列舉也可以包含字串
。這比數字列舉更常見,因為它們具有更好的可讀性和意圖。
示例
enum CardinalDirections {
North = 'North',
East = "East",
South = "South",
West = "West"
};
// 輸出 "North"
console.log(CardinalDirections.North);
// 輸出 "West"
console.log(CardinalDirections.West);
自己動手試一試 »
嚴格來說,您可以混合使用字串和數字列舉值,但建議不要這樣做。