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)
相关推荐
NiceCloud喜云6 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby7 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩7 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
Front思8 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫10 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。11 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星11 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒11 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
丷丩11 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
Mr.Daozhi11 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具