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是 ...
随机推荐
- Solon Web 开发:四、认识请求上下文(Context)
Handler + Context 架构,是Solon Web 的基础.在 Context (org.noear.solon.core.handle.Context)里可以获取: 请求相关的对象与接口 ...
- sqlite3.OperationalError: no such function: JSON_VALID
Initializing database.. Traceback (most recent call last): File "d:\program files\python38\lib\ ...
- Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
Caused by: java.lang.NoClassDefFoundError: javax/servlet/Filter at java.lang.Class.getDeclaredMethod ...
- 断点续传(上传)C#版
断点续传(上传)Java版 1. 客户每次上传前先获取一下当前文件已经被服务器接受了多少 2. 上传时设定偏移量 服务端代码如下: /// <summary> /// 断点续传,获取已上传 ...
- Codeforce:Good Bye 2020 个人题解
题面链接:Here 代码提交:Here 年终彩蛋 1466A. Bovine Dilemma 题意是:给定一个固定点(0,1),然后给定n个在x轴的点,求面积不同的三角形个数 简单思考一下就容易发现这 ...
- jdk1.8: Consumer函数
场景: 当我们在a方法中,需要把某些参数赋值给一个Integer类型的对象,而该对象只有在b方法才能赋值,那么我们可以在a方法中使用consumer记录我们要执行的操作,再把consumer作为参数传 ...
- Serverless 时代开启,云计算进入业务创新主战场
作者 | 于洪涛 "我们希望让用户做得更少而收获更多,通过 Serverless 化,让企业使用云服务像用电一样简单." Serverless 化正在成为全新的软件研发范式,阿里云 ...
- vue学习笔记 十一、计算属性介绍
系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...
- Guava缓存工具类封装和使用
本文为博主原创,未经允许不得转载: Guava是谷歌提供的一款强大的java工具库,里面包含了很多方便且高效的工具,在项目开发中有业务场景需要保存数据到内存当中, 且只需要保存固定时间就可以,该数据只 ...
- 13个构建RESTful API的最佳实践
前言 Facebook.GitHub.Google和其他许多巨头都需要一种方法来服务和消费数据.在今天的开发环境中,RESTful API仍然是服务和消费数据的最佳选择之一. 但你是否考虑过学习行业标 ...