异构枚举
本课属于 Coddy JavaScript 学习旅程的“TypeScript 入门”单元。第 55 课,共 73 课。
TypeScript 还支持异构枚举,也就是在同一个声明中同时包含字符串成员和数值成员的枚举。
下面介绍如何创建异构枚举:
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}在这个示例中,No 和 Maybe 是数值成员,而 Yes 是字符串成员。TypeScript 允许这种灵活性,不过要注意,异构枚举在实际中很少使用。
挑战
简单创建一个名为 ResponseCode 的异构枚举,其中包含字符串值和数值:
- 将
Success初始化为200 - 将
Error初始化为"ERROR" - 将
NotFound初始化为404 - 将
Timeout初始化为"TIMEOUT"
创建一个名为 handleResponse 的函数,它接受一个参数:
- 类型为
ResponseCode的code
该函数应执行以下操作:
- 检查响应代码,并根据值打印不同的消息
- 如果代码是
ResponseCode.Success,打印"Request successful" - 如果代码是
ResponseCode.Error,打印"General error occurred" - 如果代码是
ResponseCode.NotFound,打印"Resource not found" - 如果代码是
ResponseCode.Timeout,打印"Request timed out" - 返回类型为
void
创建四个变量,用于演示枚举值:
- 创建类型为
ResponseCode的successCode,并将其赋值为ResponseCode.Success - 创建类型为
ResponseCode的errorCode,并将其赋值为ResponseCode.Error - 创建类型为
ResponseCode的notFoundCode,并将其赋值为ResponseCode.NotFound - 创建类型为
ResponseCode的timeoutCode,并将其赋值为ResponseCode.Timeout
打印以下输出:
- 打印
successCode的值 - 打印
errorCode的值 - 打印
notFoundCode的值 - 打印
timeoutCode的值 - 使用
ResponseCode.Success调用handleResponse - 使用
errorCode调用handleResponse - 使用数值
404调用handleResponse
亲手试试
// TODO: 在这里编写你的代码
// 创建 ResponseCode 枚举
// 创建 handleResponse 函数
// 创建演示用的变量
// 打印要求的输出这节课包含一个小测验。开始学习即可作答,并记录你的进度。
TypeScript 入门中的所有课
自己练习: TypeScript 在线编辑器