枚举

简单理解就是将所有的情况列举出来.
枚举不是用来定义类型的哈。就是说枚举不是一种数据类型。
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枚举类型的更多相关文章

  1. typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)

    枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...

  2. TypeScript——枚举类型

    enum类型是对JavaScript标准数据类型的一个补充. 在运行环境下编译成对象, 可用属性名索引, 也可用属性值索引.而其实现原理为:反向映射 (如下例)   数字枚举 enum Role { ...

  3. TypeScript中的枚举类型

    TypeScript拓展了Javascript原生的标准数据类型集,增加了枚举类型(enmu)和其他语言一 样 它提供我们一种数字类型的值,用来设置由于辨别的名字和方法 enum Students { ...

  4. TypeScript 中枚举类型的理解?应用场景?

    一.是什么 枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象的所有可能取值的集合 在日常生活中也很常见,例如表 ...

  5. TypeScript 之类型判断

    在使用 Angular 做项目的时候,对 TypeScript 的类型判断不太熟练,为了方便查找,特意对 TypeScript 的类型判断做了简单梳理.文章只是 TS 官网的内容摘要,没有高深的知识, ...

  6. TypeScript基础类型,类实例和函数类型声明

    TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolea ...

  7. TypeScript 基本类型(一)

    1.boolean 布尔值 true/false let isDone: boolean = false; 2.number 数字:和JavaScript 一样,TypeScript 里的所有数字都是 ...

  8. TypeScript 高级类型

    ⒈交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型. 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性. 例如, Person &a ...

  9. TypeScript 枚举

    我们常常会有这样的场景,比如与后端开发约定订单的状态开始是0,未结账是1,运输中是2,运输完成是3,已收货是4.这样的纯数字会使得代码缺乏可读性.枚举就用于这样的场景.枚举可以让我们定义一些名字有意义 ...

  10. TypeScript的类型

    ⒈TypeScript的类型 JavaScript语言的数据类型包括以下7种: 1.boolean(布尔),true || false 2.null,表明null值得特殊关键字,JavaScript是 ...

随机推荐

  1. 从源码角度详解Java的Callable接口

    摘要:本文从源码角度深入解析Callable接口. 本文分享自华为云社区<深入解析Callable接口>,作者: 冰 河 . 本文纯干货,从源码角度深入解析Callable接口,希望大家踏 ...

  2. 如何使用参数化查询提高Cypher查询的性能

    摘要:在DBMS中,参数化查询被视为一种有效预防SQL注入攻击的手段. 本文分享自华为云社区<使用参数化查询提高Cypher查询的性能:以华为云图引擎GES为例>,作者: 蜉蝣与海. 在D ...

  3. webpack原理(3):Tapable源码分析及钩子函数作用分析

    webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建bundles的Compi ...

  4. 火山引擎 DataLeap 下 Notebook 系列文章二:技术路线解析

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在 Jupyter 的生态下,除了 Notebook 本身,火山引擎 DataLeap 研发团队还注意到了很多其他 ...

  5. 数据结构——AVL树

    AVL树是一种特殊的二叉查找树,其特征在于:对所有节点来说,其左子树和右子树间的高度差小于等于1.本文简要总结下AVL树的几种基本操作. 节点结构体定义 typedef struct Node_s { ...

  6. Codeforces 115A Party (并查集思维)

    题意: 给你每个人的上级,并且一个人和他的所有上级都不能在一个party(小组)中(这点是根据题目给出的两点推导出来的),问最少需要几个party. 思路: 并查集,找一个集合中层级数最多的就是最少需 ...

  7. Problem 550A - Two Substrings

    A - Two Substrings You are given string s. Your task is to determine if the given strings contains t ...

  8. Ipa Guard使用手册

    ​ 使用手册 开始使用ipa guard 代码混淆界面介绍 文件混淆-界面介绍 安装和登录Ipa Guard 相关教程 下载安装Ipa Guard ipaguard注册和登录 下载安装Ipa Guar ...

  9. 消息服务 + Serverless 函数计算如何助力企业降本提效?

    作者 | 柳下 背景介绍 消息队列服务(下文均以 Message Service 命名)作为云计算 PaaS 领域的基础设施之一,其高并发.削峰填谷的特性愈发受到开发者关注.Message Servi ...

  10. 【vue基础篇】一看就懂的vue环境变量配置

    相关播客地址: https://juejin.cn/post/6844903859878363149 https://juejin.cn/post/6844903682178285575 视频学习资料 ...