TypeScript枚举类型
枚举
简单理解就是将所有的情况列举出来.
枚举不是用来定义类型的哈。就是说枚举不是一种数据类型。
enum xxx={
key1=value1,
key2=value2,
}
通过 xxx.key1的方式来获取
小粒子
let code: number = 200;
// 枚举一般用于:数据的提取或者说数据的统一管理。
// 下面这个例子就是统一管理http的状态码
enum HttpStateCode{
success = 200,
parmasError = 400,
serverError=500
}
if (code === HttpStateCode.success) {
console.log('成功')
} else if (code === HttpStateCode.parmasError) {
console.log('参数错误')
}
枚举没有value值将会怎么样呢?
如果枚举没有value值(枚举类型默认是从 0 开始的)
去看前面的值是否是一个数值,如果是,在前面那个数值上加1.
如果前面那个不是数值,则返回 undefined
enum HttpStateCode{
success = 200,
parmasError ,
serverError
}
console.log(HttpStateCode.parmasError) //输出 201
console.log(HttpStateCode.serverError) //输出 202
enum obj{
code1,
code2,
}
console.log(obj.code1) //输出 0 因为枚举类型默认是从 0 开始的
console.log(obj.code2) //输出 1
enum obj1{
code1='张三',
code2,
}
console.log(obj1.code1) //输出 张三
console.log(obj1.code2) //输出 undefined
枚举类型会被编译成一个双向映射的对象
enum Days {
Sun,
Mon,
Tue,
}
console.log(Days.Sun); //输出 0
console.log(Days.Tue); //输出 6
console.log(Days); //枚举类型会被编译成一个双向映射的对象
console.log(Days[0] === "Sun"); // 输出 true

enum HttpStateCode {
success = 200,
parmasError = 400,
serverError = 500
}
console.log(HttpStateCode)

TypeScript枚举类型的更多相关文章
- typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)
枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...
- TypeScript——枚举类型
enum类型是对JavaScript标准数据类型的一个补充. 在运行环境下编译成对象, 可用属性名索引, 也可用属性值索引.而其实现原理为:反向映射 (如下例) 数字枚举 enum Role { ...
- TypeScript中的枚举类型
TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...
- TypeScript 中枚举类型的理解?应用场景?
一.是什么 枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象的所有可能取值的集合 在日常生活中也很常见,例如表 ...
- TypeScript 之类型判断
在使用 Angular 做项目的时候,对 TypeScript 的类型判断不太熟练,为了方便查找,特意对 TypeScript 的类型判断做了简单梳理.文章只是 TS 官网的内容摘要,没有高深的知识, ...
- TypeScript基础类型,类实例和函数类型声明
TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...
- TypeScript 基本类型(一)
1.boolean 布尔值 true/false let isDone: boolean = false; 2.number 数字:和JavaScript 一样,TypeScript 里的所有数字都是 ...
- TypeScript 高级类型
⒈交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型. 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性. 例如, Person &a ...
- TypeScript 枚举
我们常常会有这样的场景,比如与后端开发约定订单的状态开始是0,未结账是1,运输中是2,运输完成是3,已收货是4.这样的纯数字会使得代码缺乏可读性.枚举就用于这样的场景.枚举可以让我们定义一些名字有意义 ...
- TypeScript的类型
⒈TypeScript的类型 JavaScript语言的数据类型包括以下7种: 1.boolean(布尔),true || false 2.null,表明null值得特殊关键字,JavaScript是 ...
随机推荐
- npm install过程中遇到typings deprecated的warning该怎么处理
摘要:在项目里进行npm install操作的时候,发现typings.json文件里的一些定义文件爆出了已经弃用的警告,怎么办? 本文分享自华为云社区<npm install过程中遇到typi ...
- 敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路
摘要:听华为云DevCloud首席技术布道师徐毅讲述云原生下的DevOps实践. 本文分享自华为云社区<敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路>,作者:华为云社区精选 ...
- PPT 商务图表的应用和美化之道
PPT 商务图表的应用和美化之道 折线图 饼图 你认为的图表元素,可能是图表外的元素 https://www.bilibili.com/video/BV1ha411g7f5/?p=11
- Jenkins Pipeline 多分支流水线 Input length = 1
Jenkins 多分支流水线 构建过程中报错. [Pipeline] // node [Pipeline] End of Pipeline java.nio.charset.MalformedInpu ...
- HF Hub 现已加入存储区域功能
我们在 企业版 Hub 服务 方案中推出了 存储区域(Storage Regions) 功能. 通过此功能,用户能够自主决定其组织的模型和数据集的存储地点,这带来两大显著优势,接下来的内容会进行简要介 ...
- Nginx--安装&&配置文件
官网:http://nginx.org/en/download.html nginx版本:1.18 一 安装 1 下载预编译环境(预编译报错需要安装什么库 直接在库名后面接 -devel 使用yu ...
- 奶瓶KeyBoard | N68键盘使用说明
1.旋钮功能及操作说明 旋钮功能向下长按5秒按为音量调节/灯光亮度调节互换,顺时针方向为音量+/亮度加,逆时针方向为音量-/亮度减 2. 无线连接及操作说明 Tab按键右侧和Q按键中间为通道连接指示灯 ...
- 深入浅出 ZooKeeper
ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护. ZooKeeper 可以视为一个高可用的文件系统. ZooKeeper 可以用于发布/订阅.负载均衡.命令服务.分布式协调/通 ...
- vue 状态管理 三、Mutations和Getters用法
系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...
- 【RK3399】1.RK3399开发板基础配置
最近在小黄鱼入手了一个RK3399的开发板,RK的芯片我也是第一次使用.FireFly配套提供了完善的教程,可以在他们的WIKI上找到.上面有的内容就不在本文叙述了,大家可以参考教程https://w ...