enum枚举类型的用法ts
枚举类型(Enum)是一种在 TypeScript 中定义一组具有名称和值的常量的数据结构。它提供了一种用于描述一组相关项的方式,使得代码更加可读和易于理解。在这篇文章中,我们将探讨枚举类型在 TypeScript 中的用法。
首先,让我们了解枚举类型的基本语法。在 TypeScript 中,使用关键字 `enum` 来定义一个枚举类型。枚举类型由一组名称/值对(也称为成员)组成,其中名称是枚举成员的标识符,而值是与之关联的数字或字符串。
typescript
enum Direction {
  North,
  East,
  South,
  West,
}
在上面的示例中,我们定义了一个名为 `Direction` 的枚举类型。它包含四个成员:`North`、`East`、`South` 和 `West`。请注意,这些成员没有指定值,因此它们的值默认为从 0 开始的递增序列。在这种情况下,`North` 的值为 0,`East` 的值为 1,依此类推。
使用枚举类型时,可以使用点语法来访问枚举成员。例如:
typescript
let heading: Direction = Direction.North;
console.log(heading);  输出:0
在上面的代码中,我们声明了一个变量 `heading`,其类型为 `Direction` 枚举类型。然后,我们将其赋值为 `Direction.North`,即枚举成员 `North` 的值。最后,我们将其输出到控制台,可以看到输出的是 `0`,这是 `North` 成员的默认值。
如果想为枚举成员指定自定义的值,可以在枚举成员的名称后面使用赋值操作符 `=` 来指定值。例如:
typescript
enum Direction {
  North = 2,
  East = 4,
  South = 6,
  West = 8,
}
在上面的示例中,我们为每个枚举成员指定了自定义的值。现在,`North` 的值为 2,`East` 的值为 4,依此类推。
除了使用数字作为枚举成员的值外,还可以使用字符串。例如:
typescript
enum Color {
  Red = 'red',
  Green = 'green',
  Blue = 'blue',
}
在上面的示例中,我们为每个枚举成员指定了一个字符串值。
枚举类型还支持反向映射,即可以通过枚举成员的值查到对应的枚举成员名称。例如:
typescript
enum Direction {
enum类型如何使用  North,
  East,
  South,
  West,
}
let directionName: string = Direction[1];
console.log(directionName);  输出:East
在上面的代码中,我们使用枚举成员的值 `1` 来查对应的枚举成员名称。由于 `1` 对应的是 `East`,因此输出的结果是 `East`。
枚举类型还可以进行一些运算,如比较和位运算。例如:
typescript
enum HttpStatusCode {
  Ok = 200,
  BadRequest = 400,
  Unauthorized = 401,
  NotFound = 404,
}
function is2xx(code: HttpStatusCode): boolean {
  return code >= HttpStatusCode.Ok && code < HttpStatusCode.BadRequest;
}
console.log(is2xx(HttpStatusCode.Ok));  输出:true
console.log(is2xx(HttpStatusCode.Unauthorized));  输出:false
在上面的示例中,我们定义了一个枚举类型 `HttpStatusCode`,表示常见的 HTTP 状态码。然后,我们定义了一个函数 `is2xx`,用于判断一个状态码是否为 2xx 成功响应。该函数的参数类型为 `HttpStatusCode` 枚举类型,返回值类型为 `boolean`。在函数体内部,我们利用枚举成员的默认值进行比较运算,判断给定的状态码是否在 2xx 范围内。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。