一个枚举是一个特殊的"class",表示一组常量(不可更改的变量)。
枚举有两种类型string
和numeric
。让我们从数字开始。
默认情况下,枚举会将第一个值初始化为0
并将每个附加值加 1:
enum CardinalDirections {
North,
East,
South,
West
}
let currentDirection = CardinalDirections.North;
// logs 0
console.log(currentDirection);
// throws error as 'North' is not a valid enum
currentDirection = 'North'; // Error: "North" is not assignable to type 'CardinalDirections'.
亲自试一试 »
您可以设置第一个数字枚举的值并使其自动递增:
enum CardinalDirections {
North = 1,
East,
South,
West
}
// logs 1
console.log(CardinalDirections.North);
// logs 4
console.log(CardinalDirections.West);
亲自试一试 »
您可以为每个枚举值分配唯一的数值。那么这些值将不会自动增加:
enum StatusCodes {
NotFound = 404,
Success = 200,
Accepted = 202,
BadRequest = 400
}
// logs 404
console.log(StatusCodes.NotFound);
// logs 200
console.log(StatusCodes.Success);
亲自试一试 »
枚举还可以包含strings
。由于其可读性和意图,这比数字枚举更常见。
enum CardinalDirections {
North = 'North',
East = "East",
South = "South",
West = "West"
};
// logs "North"
console.log(CardinalDirections.North);
// logs "West"
console.log(CardinalDirections.West);
亲自试一试 »
从技术上讲,您可以混合和匹配字符串和数字枚举值,但建议不要这样做。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!