Typescript 枚举类型

枚举是用来表示一组明确的可选值列表

javascript 复制代码
// enum是枚举类型的关键字
//枚举如果不设置值,默认从0开始
enum Direction {
    Up, // 0		 
    Down, // 1		 
    Left, // 2
    Right // 3
  }
//如果给第一个值赋值为100,则第二、第三第四个都会在第一个的基础上+1 分别是101,102,103
enum Direction {
    Up=100, 	 
    Down, // 101		 
    Left, // 102
    Right // 103
  }
  
enum Direction {
    Up=100, 	 
    Down, // 101		 
    Left=200, 
    Right // 201
  }

 //赋值的情况
 enum Direction {
    Up = 'Up',
    Down = 'Down',
    Left = 'Left',
    Right = 'Right'
  }
//  把枚举类型Direction 转化为js
  var Direction = void 0;//先声明一个变量
    (function (Direction) {
        Direction["Up"] = "Up";//Direction["Up"]等价于Direction.up
        Direction["Down"] = "Down";
        Direction["Left"] = "Left";
        Direction["Right"] = "Right";
    })(Direction || (Direction = {}));//这整个是一个立即执行函数 "Direction || (Direction = {})"这个作为参数,其实Direction刚开始就是一个空对象{}
    
复制代码
枚举不仅可以通过键找值也可以通过值找键,里面采用了反射,我们把下面代码输出到控制台查看
javascript 复制代码
 	enum Direction {
    Up, // 0		 
    Down, // 1		 
    Left, // 2
    Right // 3
  }
  console.log(Direction)
相关推荐
努力的小郑32 分钟前
今晚Cloudflare一哆嗦,我的加班计划全泡汤
前端·后端·程序员
Kisang.1 小时前
【HarmonyOS】性能优化——组件的封装与复用
华为·性能优化·typescript·harmonyos·鸿蒙
q***64971 小时前
头歌答案--爬虫实战
java·前端·爬虫
凌波粒1 小时前
SpringMVC基础教程(4)--Ajax/拦截器/文件上传和下载
java·前端·spring·ajax
液态不合群2 小时前
DDD驱动低代码开发:从业务流程到领域模型的全链路设计
前端·低代码·架构·ddd
jonyleek2 小时前
JVS低代码开发中,如何创建自定义前端页面并接入到现有系统中,从创建到接入的全攻略
前端·低代码·前端框架·软件开发
谢尔登2 小时前
【React】React组件的渲染过程分为哪几个阶段?
前端·javascript·react.js
MediaTea3 小时前
Python 第三方库:Flask(轻量级 Web 框架)
开发语言·前端·后端·python·flask
5***o5003 小时前
前端构建工具缓存清理,解决依赖问题
前端·缓存
lcc1873 小时前
Vue Vue与VueComponent的关系
前端·vue.js