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)
相关推荐
林太白13 分钟前
Vite8 Beta来了,Rolldown携手Oxc
前端·javascript·后端
xkxnq14 分钟前
第二阶段:Vue 组件化开发(第 19天)
前端·javascript·vue.js
技术净胜1 小时前
Python 操作 Cookie 完全指南,爬虫与 Web 开发实战
前端·爬虫·python
神奇的程序员1 小时前
Nginx日志分析工具-NginxPulse开源了
前端
我是小疯子661 小时前
前端开发入门:HTML、CSS与JS学习指南
前端
知了清语1 小时前
是的,微信小程序的 show-menu-by-longpress 真的会让你无语
前端
Hao_Harrision2 小时前
50天50个小项目 (React19 + Tailwindcss V4) ✨| RangeSlider(范围滑块组件)
前端·typescript·react·tailwindcss·vite7
CC码码2 小时前
不修改DOM的高亮黑科技,你可能还不知道
前端·javascript·面试
虚诚2 小时前
vue2中树形表格怎么实现
前端·javascript·vue.js·ecmascript·vue2·树形结构
wuhen_n2 小时前
Promise与async/await
前端