使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。...一、数字枚举 在 TypeScript 中可以通过 enum 关键字来定义枚举,比如: enum RequestMethod { Get, Post, Put, Delete, Options...因为 JavaScript 中并没有存在枚举类型,因此为了能够在大多数浏览器中正常运行,上面定义的 RequestMethod 枚举会被编译成以下 ES5 代码: "use strict"; var RequestMethod...当一个表达式满足下面条件之一时,它就是一个常量枚举表达式: 一个枚举表达式字面量(主要是字符串字面量或数字字面量); 一个对之前定义的常量枚举成员的引用(可以是在不同的枚举类型中定义的); 带括号的常量枚举表达式...= 1 << 3, Start = 1 << 4, SwipeEnd = 1 << 5, SwipeStart = 1 << 6, } 二、字符串枚举 在 TypeScript 2.4
前言 介绍其基本概念、语法特性以及如何开始使用它来构建类型安全的JavaScript应用程序。无论您是新手还是有经验的开发者,都能在这篇文章中找到有关TypeScript的重要信息和实用技巧。...枚举类型是 TS 为 JS 扩展的一种类型,在原生的 JS 中是没有枚举类型的,枚举用于表示固定的几个取值 例如:一年只有四季、人的性别只能是男或者女 定义枚举 enum Gender { Male..., Female } 如上代码的含义为,定义了一个名称叫做 Gender 的枚举类型, 这个枚举类型的取值有两个, 分别是 Male 和 Female: enum Gender { Male...console.log(Gender.Male); console.log(Gender.Female); 图片 TS 中的枚举类型的取值, 默认是从上至下从 0 开始递增的: enum Gender...(Gender.Male); console.log(Gender.Female); 图片 我们还可以同时修改多个枚举值的取值,如果同时修改了多个, 那么修改的是什么最后就是什么: enum Gender
可定义的类型 以下所写的并不代表typescript的数据类型,而是在使用过程中可以用作定义的类型。...interface : 接口; 该类型需要通过interface关键词来实现 enum :枚举类型; 该类型需要通过enum关键词来实现 void :空类型; 该类型规定函数返回值,代表无返回值...(){ return '1000' } 枚举 使用枚举我们可以定义一些带名字的常量,当枚举作为类型时,表示该属性只能为枚举中的某一个成员 1.字符串枚举 enum SEX{ man = '男',...枚举类型本身变成了每个枚举成员的联合,它可以知道枚举里的值的集合 enum Direction { Up, Down, Left, Right } let...nameOfA = Enum[a]; // "A" TypeScript可能会将这段代码编译为下面的JavaScript: var Enum; (function (Enum) { Enum[Enum
TypeScript-枚举成员类型和联合类型枚举成员类型可以把 枚举成员 当做 类型 来使用正确示例:enum Gender { Male, Female}interface TestInterface..., 所以会报错注意点由于数字枚举的本质就是数值, 所以写一个数值也不会报错如下:enum Gender { Male, Female}interface TestInterface {...age: Gender.Male}class Person implements TestInterface { age: 0}如果是字符串枚举, 那么只能是枚举成员的值, 不能是其它的值正确示例...TestInterface { age: Gender.Male}class Person implements TestInterface { age: Gender.Female}联合枚举类型联合类型联合类型就是将多种数据类型通过...| 连接起来let value: (number | string);value = 1;value = 6;value = "123";console.log(value);我们可以把枚举类型当做一个
扩展类型——枚举 在上一篇文章中聊到了很多TS基础类型,那为什么又出现了扩展类型枚举,我们都知道任何东西都不是平白无故就出现的,都是为了解决特定的问题。...枚举只是扩展类型其中之一,比如说还有类型别名,接口,类 那么枚举是什么意思呢? 枚举就是把一卡车西瓜一个一个摆在摊子上的过程。 有什么作用?...,左边是逻辑含义值,右边是真实的值,有了枚举之后就不再需要类型别名了,对字面量类型出现问题的代码进行修改: //定义一个类型别名 //type Gender = "帅哥" | "美女"; //换成枚举...如下: 然而之前的类型别名是做不到的,因为类型别名在编译的时候会消失,而枚举则不会。...枚举的最佳实践 尽量不要在一个枚举中既出现字符串字段,又出现数字字段 使用枚举时,尽量使用枚举字段的名称,而不使用真实的值,就是把逻辑的值和真实的值分开 能用枚举就用枚举,使用类型别名,那两个问题逃不掉
枚举(Enum)类型用于取值被限定在一定范围内的场景 定义一个枚举如下所示 enum Days{ Sun, Mon, Tue, Wed, Thu, Fri...console.log(Days.Sun) console.log(Days.Sat) 执行如上代码我们可以看到控制台会输出 0 6 打开js文件我们可以看到相对应的字符串,通过如下内容我们可以看到枚举类型可以被编译成一个双向类型的映射
TypeScript宗旨 我觉得Typescript的宗旨是 任何一个 TypeScript 程序,在手动删去类型部分,将后缀改成 .js 后,都应能够正常运行。...Typescript是javascript的超集,是编译期行为,不引入额外开销,不改变运行时行为,始终与 ESMAScript 语言标准一致。...但是enum类型了引入了 JavaScript 没有的数据结构(编译成一个双向 map),入侵了运行时,与 TypeScript 宗旨不符。...用 字符串联合类型(‘enum1’ | ‘enum2’ | ‘enum3’)可以做到相同的事,且在调试时可读性更好。...enum2"; Test[Test["enum3"] = 4] = "enum3"; })(Test || (Test = {})); var test = Test.enum2; // 3 推荐联合类型
引言 -- TypeScript中的枚举(Enum)是一种数据类型,用于定义一组具有命名值的常量。枚举可以帮助我们在代码中使用更具有可读性和可维护性的常量。...缺乏灵活性:字面量类型只能表示特定的值,无法表示范围或模式。 2. 可读性差:当使用多个字面量类型时,代码可能会变得冗长和难以理解。 3....如何定义一个枚举: 在TypeScript中,可以使用关键字enum来定义一个枚举。...(Direction.Up); // 输出: 0 console.log(Direction[0]); // 输出: "Up" 需要注意的是,在TypeScript中,枚举类型是具有数字和字符串两种形式的...总结一下 TypeScript中的枚举是一种用于定义一组具有命名值的常量的数据类型。它可以提高代码的可读性和可维护性,并支持数字和字符串两种形式。
TypeScript 强大的类型系统使得开发者能够更轻松地编写可维护、可扩展的代码。本文将详细介绍 TypeScript 中的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。...可以使用 object 关键字来声明对象类型。对象类型对象类型用于表示一个对象,其中包含多个键值对。可以使用 {} 或者 object 关键字来声明对象类型。对象类型可以指定属性名和属性值的类型。...可以使用 enum 关键字来声明枚举类型。...类型推断和类型断言TypeScript 具有强大的类型推断能力,它可以根据上下文自动推断变量的类型。例如,如果我们在定义变量时直接赋值,TypeScript 可以推断出变量的类型。...总结本文详细介绍了 TypeScript 的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型等方面。
按照枚举值的类型,把枚举分为数值枚举,字符串枚举以及异构枚举。...具体的,没被显式初始化的枚举值,要么最先出现,要么出现在在其它数值常量枚举值之后 反向映射 TypeScript里可用通过枚举值取到对应枚举常量名,这种特性称之为反向映射(reverse mapping...,就隐式赋值为上一个枚举值加一 枚举成员被显式赋值为常量枚举表达式(TypeScript表达式的子集,能在编译时求值,具体见constant enum expression) 例如: enum FileAccess...(是所有枚举成员的联合体) 枚举成员也有了类型含义 枚举的类型 把枚举用作类型,可以约束取值集合,进而暴露类似的潜在问题: // 联合枚举 enum E { Foo, Bar, }// 枚举的类型含义...A = Math.PI } 七.环境枚举 仅用作类型约束(或者说只声明不实现)的枚举,这一点与常量枚举类似,但环境枚举(ambient enums)用来描述现有枚举的类型,例如: declare enum
一、是什么 枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象的所有可能取值的集合 在日常生活中也很常见,例如表示星期的...标识符N[=整型常数], }枚举变量; 二、使用 枚举的使用是通过enum关键字进行定义,形式如下: enum xxx { ... } 声明关键字为枚举类型的方式如下: // 声明d为枚举类型Direction...let d: Direction; 类型可以分成: 数字枚举 字符串枚举 异构枚举 数字枚举 当我们声明一个枚举类型是,虽然没有给它们赋值,但是它们的值其实是默认的数字类型,而且默认从...枚举类型的值其实也可以是字符串类型: enum Direction { Up = 'Up', Down = 'Down', Left = 'Left', Right...)); 上述代码可以看到, Direction[Direction["Up"] = 0] = "Up"可以分成 Direction[“Up”] = 0 Direction[0] = “Up” 所以定义枚举类型后
枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等。...如果未手动赋值的枚举项与手动赋值的重复了,TypeScript 是不会察觉到这一点的: enum Days {Sun = 3, Mon = 1, Tue, Wed, Thu, Fri, Sat}; console.log...常数枚举表达式是 TypeScript 表达式的子集,它可以在编译阶段求值。...当一个表达式满足下面条件之一时,它就是一个常数枚举表达式: 数字字面量 引用之前定义的常数枚举成员(可以是在不同的枚举类型中定义的)如果这个成员是在同一个枚举类型中定义的,可以使用非限定名来引用...的枚举类型的概念来源于 C#。
枚举类型 定义 用户自定义的数据类型,称为枚举类型;用标识符enum表示整型枚举常量集合 数值 除非特殊定义,否则集合中的整型将从0开始,依次递增,增幅为1 若其中一个值被显式的定义为整数n,其后从n开始依次递增...1(一个枚举类型中多个成员可以有相同的常量值) 命名 通常采用大写字母来给枚举常量命名,使其在程序中明显,表示不是变量 例子 enum months{ JAN, FEB, MAR, ARI = 1,
1、枚举概述 1.1、什么是枚举 枚举,英文:Enumeration “枚举”的字面意思:枚,是个量词,可以理解成是个。比如:一枚金牌、一枚银牌。举:就是例举的意思。...枚举合起来的意思就是例举出有限的事物的集合!例如:例举一周有几天、一年有多少个月份。 枚举的正式解释:枚举类型是jdk5中新增的特性,它是一种加了限制的特殊的class类型。...这里的限制指的是对枚举类型所能创建的对象的个数进行了限制!他不像普通的class类那样可以创建无数的对象,他只能创建固定数目的对象,而且这些对象是在定义枚举类型的时候就已经在枚举类内部创建好了的!...static Enum valueOf(String name) 返回带指定名称的指定枚举类型的枚举常量 int ordinal() 返回枚举常量的序数(初始常量序数为零) String toString...其中键是枚举常量,值是字符串类型 具体转换操作如下所示!
TypeScript-数字枚举和字符串枚举TS 中支持两种枚举, 一种是 数字枚举, 一种是 字符串枚举数字枚举默认情况下就是数字枚举enum Gender { Male, Female}console.log...1, Female}console.log(Gender.Male);console.log(Gender.Female);常量,如果使用常量给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值...}console.log(Gender.Male);也可以根据原始值获取到枚举值enum Gender { Male, Female}console.log(Gender[0]);字符串枚举如果使用字符串给前面的枚举值赋值了...);console.log(Gender.Female);字符串枚举注意点如果使用字符串给前面的枚举值赋值了, 那么后面的枚举值也必须手动赋值上面已经介绍了和数字枚举不一样, 字符串枚举不能使用常量或者计算结果给枚举值赋值虽然字符串枚举不能够使用常量或者计算结果给枚举值赋值...(Gender.Yao);异构枚举枚举中既包含数字又包含字符串, 我们就称之为 异构枚举enum Gender { Male = 6, Female = 'nv'}console.log(Gender.Male
一、基础数据类型 TypeScript 是 JavaScript 的超集 , TypeScript 的基础数据类型 与 JavaScript 的基础数据类型 基本相同 , 下面开始介绍 TypeScript...代码 : 6、枚举类型 TypeScript 中的 enum 枚举类型 是 JavaScrip之外的 新增的数据类型 , 其作用是 为 一组数值 设置名称 ; 代码示例 : // 枚举类型 enum...Color {Blue, Red, Purple} // 声明枚举类型变量 let color: Color = Color.Blue // 控制台打印上述变量 console.log("color.../play 中运行 TypeScript 代码 : [LOG]: "void 类型示例" 9、null 空类型 TypeScript 中的 null 空类型 表示一个空的对象值 , 值就是 null...联合体 , 变量的类型是多个类型中的一种 ; 代码示例 : // union 联合类型 let unionVar: number|boolean|string = true; // 控制台打印上述变量
枚举类型的介绍一个 枚举类型 是一种特殊的数据类型,使一个变量是一组预定义的常量。变量必须等于一个已经预定义的值。...因为它们是常量,枚举类型的字段的名称是大写字母。对于类的对象有限,并且确定的,才可以使用 枚举类型 ,如: 星期:Monday(星期一)、.........举例: 基于 JDK5.0 之前的方式:自定义一个枚举类,一个关于四季的枚举类型。...和普通 Java 类一样,枚举类可以实现一个或多个接口。若每个枚举值在调用实现的接口方法呈现相同的行为方式,则只要统一实现该方法即可。...总结:对于类的对象有限,并且确定的,才可以使用 枚举类型 。
但是枚举类的构造器有很大不同:首先,构造器只是在构造枚举值时使用;其次,构造器是private的,不允许为public(这样可以保证外部代码无法新构造枚举类的实例。...3、所有枚举类都继承了Enum的方法,下面我们详细介绍这些方法。 (1) ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。 ...(5) valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。 (6) equals()方法: 比较两个枚举类对象的引用。...return x * y; case DIVIDE: return x / y; } throw new AssertionError("Unkonwn op:" + this); } } 枚举类型是编译安全类型...枚举构造器不可以访问枚举的静态域,除了编译时常量域除外。
笔记: 一:枚举类型的定义 二:枚举类和普通类的区别 1:值不可变 2:具有防止相同标签得功能,不同标签的值可以相同!...三:枚举类型、枚举值、枚举名称 1:VIP.YELLOW.Value 获得标签的值 2:VIP.BLACK.name 获取标签名称 3:枚举里面的部分为枚举类型!...__members__.items(): print(v) 六:枚举转换 从数据库中去除某一个数值对应的值(a = 1),根据a的值匹配枚举的类型 a = 1...print(VIP(a)) 七:其他 1:IntEnum类型说明:枚举的都是int类型的!...1 # ----------------------------------------------# 2 # 定义一个枚举类型 3 # ----------------------------
领取专属 10元无门槛券
手把手带您无忧上云