千家信息网

TypeScript中枚举类型的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关TypeScript中枚举类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、是什么枚举是一个被命名的整型常数的集合,用于声明一组命名
千家信息网最后更新 2026年11月01日TypeScript中枚举类型的示例分析

这篇文章给大家分享的是有关TypeScript中枚举类型的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    一、是什么

    枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型

    通俗来说,枚举就是一个对象的所有可能取值的集合

    在日常生活中也很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就可以看成是一个枚举

    枚举的说明与结构和联合相似,其形式为:

    enum 枚举名{
    标识符①[=整型常数],
    标识符②[=整型常数],
    ...
    标识符N[=整型常数],
    }枚举变量;

    二、使用

    枚举的使用是通过enum关键字进行定义,形式如下:

    enum xxx { ... }

    声明关键字为枚举类型的方式如下:

    // 声明d为枚举类型Directionlet d: Direction;

    类型可以分成:

    • 数字枚举

    • 字符串枚举

    • 异构枚举

    数字枚举

    当我们声明一个枚举类型是,虽然没有给它们赋值,但是它们的值其实是默认的数字类型,而且默认从0开始依次累加:

    enum Direction {    Up,   // 值默认为 0    Down, // 值默认为 1    Left, // 值默认为 2    Right // 值默认为 3}console.log(Direction.Up === 0); // trueconsole.log(Direction.Down === 1); // trueconsole.log(Direction.Left === 2); // trueconsole.log(Direction.Right === 3); // true

    如果我们将第一个值进行赋值后,后面的值也会根据前一个值进行累加1:

    enum Direction {    Up = 10,    Down,    Left,    Right}console.log(Direction.Up, Direction.Down, Direction.Left, Direction.Right); // 10 11 12 13

    字符串枚举

    枚举类型的值其实也可以是字符串类型:

    enum Direction {    Up = 'Up',    Down = 'Down',    Left = 'Left',    Right = 'Right'}console.log(Direction['Right'], Direction.Up); // Right Up

    如果设定了一个变量为字符串之后,后续的字段也需要赋值字符串,否则报错:

    enum Direction { Up = 'UP', Down, // error TS1061: Enum member must have initializer Left, // error TS1061: Enum member must have initializer Right // error TS1061: Enum member must have initializer}

    异构枚举

    即将数字枚举和字符串枚举结合起来混合起来使用,如下:

    enum BooleanLikeHeterogeneousEnum {    No = 0,    Yes = "YES",}

    通常情况下我们很少会使用异构枚举

    本质

    现在一个枚举的案例如下:

    enum Direction {    Up,    Down,    Left,    Right}

    通过编译后,javascript如下:

    var Direction;(function (Direction) {    Direction[Direction["Up"] = 0] = "Up";    Direction[Direction["Down"] = 1] = "Down";    Direction[Direction["Left"] = 2] = "Left";    Direction[Direction["Right"] = 3] = "Right";})(Direction || (Direction = {}));

    上述代码可以看到, Direction[Direction["Up"] = 0] = "Up"可以分成

    • Direction["Up"] = 0

    • Direction[0] = "Up"

    所以定义枚举类型后,可以通过正反映射拿到对应的值,如下:

    enum Direction {    Up,    Down,    Left,    Right}console.log(Direction.Up === 0); // trueconsole.log(Direction[0]); // Up

    并且多处定义的枚举是可以进行合并操作,如下:

    enum Direction {    Up = 'Up',    Down = 'Down',    Left = 'Left',    Right = 'Right'}enum Direction {    Center = 1}

    编译后,js代码如下:

    var Direction;(function (Direction) {    Direction["Up"] = "Up";    Direction["Down"] = "Down";    Direction["Left"] = "Left";    Direction["Right"] = "Right";})(Direction || (Direction = {}));(function (Direction) {    Direction[Direction["Center"] = 1] = "Center";})(Direction || (Direction = {}));

    可以看到,Direction对象属性回叠加

    三、应用场景

    就拿回生活的例子,后端返回的字段使用 0 - 6 标记对应的日期,这时候就可以使用枚举可提高代码可读性,如下:

    enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};console.log(Days["Sun"] === 0); // trueconsole.log(Days["Mon"] === 1); // trueconsole.log(Days["Tue"] === 2); // trueconsole.log(Days["Sat"] === 6); // true

    包括后端日常返回0、1 等等状态的时候,我们都可以通过枚举去定义,这样可以提高代码的可读性,便于后续的维护

    感谢各位的阅读!关于"TypeScript中枚举类型的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    类型 字符 字符串 常数 代码 数字 变量 标识 标识符 示例 分析 关键 关键字 内容 可以通过 可读性 字段 对象 形式 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 喔噻互联网科技有限公司 湖南永感互联网科技有限公司 涨乐互联网科技 互联网科技金融公司 万易互联网科技 杭州互联网科技公司 互联网金融科技创新 壕鑫互联网络科技 佰商互联网科技有限公司 中国互联网金融科技基金 甘肃拓世互联网科技有限公司 银川新华互联网科技学校地址 剑昆互联网络科技有限公司临桂 茂名市互联网科技产业园 现代互联网科技股 互联网保险科技创业 沐思想互联网科技有限公司 江苏互联网智能科技软件 美国五大互联网科技公司市值多少 瑞安市蟠桃会互联网科技有限公司 上海睿民互联网科技有限公司 科技服务与互联网 掌上梦互联网科技 青岛科技大学互联网大赛研究生 黑云互联网科技有限公司 皮皮虾互联网科技有限公司 21世纪互联网科技成就 互联网金融运营模式中的金融科技 瑞安市蟠桃会互联网科技有限公司 如何强化互联网金融科技
    0