枚举法公式(【TypeScript入门】TypeScript入门篇——枚举(enum))
TypeScript是一种静态类型 、可选的编程语言 ,它在JavaScript的基础上添加了类型检查 、接口 、枚举等新特性 ,可以让开发更加高效 、代码更加健壮 。在TypeScript中 ,枚举是一种特殊的数据类型 ,它可以用来定义一组命名的常量 ,让代码更具可读性和可维护性 。
枚举( mei ju ) : 枚举的意思就是一一列举, 把所有情况都列举出来, 那么取值的时候, 只有这几个可以使用, 其他的都不行 。
计算机语言里面的枚举: 把所有的常量放在一个集合内, 让若干个常量变成一组有关联的内容 。
目录
一 、枚举的基本语法
二 、自定义枚举值
三 、访问枚举值
四 、反向映射
五 、const枚举
六 、常数枚举表达式
七 、外部枚举
TypeScript枚举(enum)是一种用于定义命名常量集合的数据类型 。在TypeScript中 ,枚举提供了一个方便的方法来为一组有限的值命名 ,并将它们封装在一个命名空间中 。
一 、枚举的基本语法
TypeScript枚举使用关键字“enum ”来定义一个新的枚举类型 。例如:
enum Direction { Up, Down, Left, Right }这段代码定义了一个名为Direction的枚举类型 ,其中包含四个常量:Up、Down 、Left和Right 。默认情况下 ,这些常量的值从0开始自动递增 。
案例实现:
enum Direction { Up, Down, Left, Right, } const move = (direction: Direction) => { switch (direction) { case Direction.Up: console.log(Moving up); break; case Direction.Down: console.log(Moving down); break; case Direction.Left: console.log(Moving left); break; case Direction.Right: console.log(Moving right); break; default: break; } } move(Direction.Up); // 打印 "Moving up"在这个例子中 ,我们定义了一个 Direction 枚举类型 ,包含了 Up 、Down、Left 和 Right 四个元素 。然后我们定义了一个 move 函数 ,接受一个 Direction 类型的参数,根据参数不同输出不同的消息 。 当我们调用 move(Direction.Up) 时 ,会输出 Moving up ,因为此时传递的参数是枚举类型 Direction 中的 Up 元素 。如果传递的参数不是 Direction 类型中的任何一个元素,那么在 switch 语句的 default 分支中不会有任何输出。
二 、自定义枚举值
您可以通过自定义枚举值来覆盖默认的自动递增行为 。例如:
enum Direction { Up = 1, Down, Left, Right }在这个例子中 ,Direction.Up的值为1 ,而其余的常量的值分别为2 、3和4 。
三 、访问枚举值
要访问枚举值 ,只需使用点表示法即可。例如:
console.log(Direction.Up); // 输出1 console.log(Direction.Down); // 输出2四 、反向映射
TypeScript枚举还提供了反向映射功能 ,允许您通过枚举值获取其对应的常量名称 。例如:
console.log(Direction[1]); // 输出Up console.log(Direction[2]); // 输出Down五 、const枚举
TypeScript还支持const枚举 ,这种类型的枚举在编译时被删除并内联到引用它们的地方 。这可以提高性能和减少生成的代码大小 。例如:
const enum Direction { Up, Down, Left, Right } console.log(Direction.Up); // 直接输出0 ,没有额外的代码生成六 、常数枚举表达式
常数枚举表达式是指可以在编译时求值的表达式 。这些表达式包括数字字面量 、其他常数枚举表达式以及一些算术运算符 。使用常数枚举表达式可以提高性能并减少生成的代码大小 。例如:
enum E { A = 1 << 0, B = 1 << 1, C = A | B }在这个例子中 ,常量E.C的值在编译时计算为3(即1 | 2) 。
七 、外部枚举
外部枚举使用declare关键字定义 ,文档描述:外部枚举用来描述已经存在的枚举类型的形状 ,意思就是说外部枚举用来描述当前环境中存在的枚举对象 。外部枚举和普通枚举的一个区别就是 ,在外部枚举里面没有初始化的枚举成员会当成一个计算值 ,而在普通枚举里面则是一个常量 。
declare enum Enum { A = 1, B, C = 2 }外部枚举和非外部枚举之间有一个重要的区别 ,在正常的枚举里,没有初始化方法的成员被当成常数成员 。 对于非常数的外部枚举而言 ,没有初始化方法时被当做需要经过计算的 。
总之 ,TypeScript中的枚举类型是一种包含有限数量的命名常量的数据类型,在编译后会被转换为相应的JavaScript代码 。枚举类型可以帮助我们定义一组具有意义的常量 ,可以通过名称或值调用这些常量 ,提高代码的可读性和可维护性。在TypeScript中 ,枚举类型有两种定义方式:数字枚举和字符串枚举 。数字枚举使用数字作为枚举值 ,字符串枚举使用字符串作为枚举值 。枚举类型还支持反向映射 、枚举成员类型 、枚举合并等高级特性。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!