初识TypeScript(day11)

68 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情

%9__XS([WZ4]A}9VFJ78~Q8.jpg

上一篇文章中,我们介绍了TS常用类型中的字面量类型,还介绍了一下字面量类型与联合类型之间的搭配使用,接下里将会介绍TS常用类型中的枚举。

枚举

  1. 概述:枚举的功能类似于字面量类型+联合类型组合的功能,也可以表示一组明确的可选值
  2. 枚举:定义一组命名常量,它描述一个值,该值可以是这些命名常量中的一个,枚举的示例代码如下
enum Direction{ Up , Down, Left, Right}
function changeDirection(direction:Direction){
console.log(direction)
}

代码解释:

  • 使用enum关键字来定义枚举
  • 约定枚举的名称,枚举中的值必须以大写字母开头
  • 约定枚举的写法,枚举中的多个值之间需要通过,(逗号)来分割开来
  • 定义好枚举之后,可以直接使用枚举名称来作为类型注解,省去了很多不必要的步骤
  1. 在使用枚举的过程中需要注意:如果形参direction的类型为枚举Direction,那么,实参的值就应该是枚举Direction中成员的任意一个。
  2. 访问枚举中的成员,示例代码如下所示:
enum Direction{ Up , Down, Left, Right}
function changeDirection(direction:Direction){
console.log(direction)
}
changeDirection(Dirction.Up)
changeDirection(Dirction.Down)
changeDirection(Dirction.Left)
changeDirection(Dirction.Right)

代码解释:这种访问枚举中的成员的方式就有一点类似于JS中的对象,两者都是直接通过点(.)语法访问枚举的成员,可以形象得将这个(.)点理解为“的”,理解起来就是Dirction中的Up成员。

注意:枚举成员是有值的,默认为:从0开始自增的数值,我们可以把鼠标移入Direction.Up,可以看到枚举成员Up的值为0,我们把枚举成员的值为数字的枚举,称为:数字枚举,当然,也可以给枚举中的成员初始化值。