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是 ...
随机推荐
- 技术+案例详解无监督学习Autoencoder
摘要:本篇文章将分享无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析. 本文分享自华为云社区<[Python人工智能] 十五.无监督学习Autoen ...
- 十大 CI/CD 安全风险(一)
CI/CD 环境.流程和系统是现代软件组织的核心.他们将代码从开发工程师的工作站传递到生产环境.结合 DevOps 和微服务架构的兴起,CI/CD 系统和流程重塑了工程生态系统: 技术堆栈更加多样化, ...
- 火山引擎数智平台拆解 APP改版场景中蕴含的数据思维
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 你有没有遇到过,打开一款经常使用的 APP,它却跳出一条需要你升级版本的提示? 大多数情况下,用户可能会直接点击「 ...
- 国内申请微软新必应(New Bing)
国内申请微软新必应(New Bing) 本文解决了两个问题: 1 需国外网络环境 2 点击加入候补名单无限返回错误 注册outlook邮箱 https://outlook.live.com/ 一步一步 ...
- STM32CubeMX教程16 DAC - 输出3.3V内任意电压
1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK ...
- SuperSocket 简单示例
这是一个SuperSocket 简单示例,包括服务端和客户端. 一.首先使用NuGet安装SuperSocket和SuperSocket.Engine 二.实现IRequestInfo(数据包): 数 ...
- 生成学习全景:从基础理论到GANs技术实战
本文全面探讨了生成学习的理论与实践,包括对生成学习与判别学习的比较.详细解析GANs.VAEs及自回归模型的工作原理与结构,并通过实战案例展示了GAN模型在PyTorch中的实现. 关注TechLea ...
- 无需代码绘制人工神经网络ANN模型结构图的方法
本文介绍几种基于在线网页或软件的.不用代码的神经网络模型结构可视化绘图方法. 之前向大家介绍了一种基于Python第三方ann_visualizer模块的神经网络结构可视化方法,大家可以直接点 ...
- ifelse优化方案
优化 if else:https://blog.csdn.net/FBB360JAVA/article/details/103832405 利用java8特性优化: https://blog.csdn ...
- vscode报错Already included file name ‘xxx‘ differs from file name ‘xxx‘ only in casing的解决方法:
场景:我们创建了一个文件是小写开头的,又改成大写开头的. 比如: relationDemo.vue 改成 RelationDemo.vue 原因:缓存的判重逻辑是不区分大小写导致的.在这种情况下,vs ...