Menu
CoddyTech

异构枚举

本课属于 Coddy JavaScript 学习旅程的“TypeScript 入门”单元。第 55 课,共 73 课。

TypeScript 还支持异构枚举,也就是在同一个声明中同时包含字符串成员和数值成员的枚举。

下面介绍如何创建异构枚举:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

在这个示例中,No 和 Maybe 是数值成员,而 Yes 是字符串成员。TypeScript 允许这种灵活性,不过要注意,异构枚举在实际中很少使用。

challenge icon

挑战

简单

创建一个名为 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 函数


// 创建演示用的变量


// 打印要求的输出
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

TypeScript 入门中的所有课

自己练习: TypeScript 在线编辑器