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)
相关推荐
不法17 分钟前
uniapp map地图导航/地图路线
前端·vue.js·uni-app
星栈34 分钟前
LiveView 页面越写越卡,我最后抓到的凶手不是数据库,是我自己乱塞 `assigns`
前端·前端框架·elixir
没落英雄1 小时前
6. 从零搭建一个 AI Agent —— 构建 Web 前端,让用户能和 agent 实时交互
前端·人工智能·架构
爱勇宝1 小时前
《道德经》第4章,老子写得很像在描述一个“底层系统”。
前端·后端·程序员
snow@li2 小时前
Java:Java 服务器(Web 容器 / Servlet 容器)完整工作清单
java·服务器·前端
洋子3 小时前
Yank Note 系列 14 - 我和 AI 怎么一起写文章
前端·markdown
江华森3 小时前
前端构建工具 Webpack 速览
前端·webpack·node.js
谙忆10244 小时前
HTTP 图片缓存实战:Cache-Control、ETag、内容哈希文件名与 CDN 回源到底怎么配
前端