携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情
上一篇文章中,我们介绍了TS常用类型中的字面量类型,还介绍了一下字面量类型与联合类型之间的搭配使用,接下里将会介绍TS常用类型中的枚举。
枚举
- 概述:枚举的功能类似于字面量类型+联合类型组合的功能,也可以表示一组明确的可选值
- 枚举:定义一组命名常量,它描述一个值,该值可以是这些命名常量中的一个,枚举的示例代码如下
enum Direction{ Up , Down, Left, Right}
function changeDirection(direction:Direction){
console.log(direction)
}
代码解释:
- 使用enum关键字来定义枚举
- 约定枚举的名称,枚举中的值必须以大写字母开头
- 约定枚举的写法,枚举中的多个值之间需要通过,(逗号)来分割开来
- 定义好枚举之后,可以直接使用枚举名称来作为类型注解,省去了很多不必要的步骤
- 在使用枚举的过程中需要注意:如果形参direction的类型为枚举Direction,那么,实参的值就应该是枚举Direction中成员的任意一个。
- 访问枚举中的成员,示例代码如下所示:
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,我们把枚举成员的值为数字的枚举,称为:数字枚举,当然,也可以给枚举中的成员初始化值。