typeScript进阶(12)_枚举类型

简介: TypeScript中的枚举类型(Enum)允许值限定在一定范围内,枚举成员默认从0开始递增,也支持手动赋值及反向映射。枚举可以用于定义常量,提高代码可读性和维护性。枚举项可以是整数、浮点数或字符串,未手动赋值的项将按顺序递增。

枚举类型

描述:

枚举(Enum)类型用于取值被限定在一定范围内的场景,比如一周只能有七天,颜色限定为红绿蓝等。

🤔读完之后大概知道是做什么的,但是有不清楚到底做什么的。
😉我们可以理解enum枚举类型声明之后会返回一个对象,这个对象中我们可以保存经常用的常量,在用的时候我们直接取值即可。

首先我们先定义一个enum类型的数据:
enum colors {
   
    red,
    green,
    black
}

这样我们就定义好了一个枚举类型的colors对象,或者说是数组也不为过。(存在映射关系)

先看这段话,我们再看下面的例子:

枚举成员会被赋值为从 0 开始递增的数字,同时也会对枚举值到枚举名进行反向映射:

百花讲就是,我们上面定义的red可以通过colors[0]拿到red,可以通过colors.red获得0

经典例子:
enum Days {
   Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 0); // true
console.log(Days["Mon"] === 1); // true
console.log(Days["Tue"] === 2); // true
console.log(Days["Sat"] === 6); // true
console.log(Days[0] === "Sun"); // true
console.log(Days[1] === "Mon"); // true
console.log(Days[2] === "Tue"); // true
console.log(Days[6] === "Sat"); // true

上面的基础用法,就是声明enum之后产生了一种映射关系,第一项and 0,第二项 and 1…,类似与数组下标,只能说类似,因为我们可以改动下标

升级例子
1.
enum Days {
   Sun = 7, Mon = 1, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 7); // true
console.log(Days["Mon"] === 1); // true
console.log(Days["Tue"] === 2); // true
console.log(Days["Sat"] === 6); // true

我们给了第一项默认值为7,第二项为1。
我们打印后发现第三项为2,是跟着最后复制的项向上累加的。

2.
enum Days {
   Sun = 7, Mon = 1.5, Tue, Wed, Thu, Fri, Sat};
console.log(Days["Sun"] === 7); // true
console.log(Days["Mon"] === 1.5); // true
console.log(Days["Tue"] === 2.5); // true
console.log(Days["Sat"] === 6.5); // true

赋值的枚举项也可以为小数或负数,此时后续未手动赋值的项的递增步长仍为 1

六卿

见贤思齐焉,见不贤内自省
目录
相关文章
|
3月前
|
JavaScript 前端开发 安全
TypeScript中的枚举类型有哪些优点和缺点
【8月更文挑战第4天】 TypeScript中的枚举类型有哪些优点和缺点
54 3
|
3月前
|
JavaScript 安全 前端开发
TypeScript中的枚举类型有哪些应用场景
【8月更文挑战第4天】TypeScript中的枚举类型有哪些应用场景
67 5
|
6月前
|
JavaScript 前端开发 编译器
TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型
TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型
74 1
|
6月前
|
JavaScript 前端开发 编译器
【TypeScript】枚举类型和泛型的详细介绍
【TypeScript】枚举类型和泛型的详细介绍
80 1
|
6月前
|
JavaScript 前端开发
【面试题】 面试官:说说你对 TypeScript 中枚举类型的理解?应用场景?
【面试题】 面试官:说说你对 TypeScript 中枚举类型的理解?应用场景?
|
JavaScript 安全 前端开发
TypeScript-枚举类型
TypeScript-枚举类型
54 0
|
JavaScript 前端开发
TypeScript深度剖析:TypeScript 中枚举类型的理解?应用场景?
TypeScript深度剖析:TypeScript 中枚举类型的理解?应用场景?
105 0
|
JavaScript 前端开发 API
【TypeScript】枚举类型和泛型的详细介绍
【TypeScript】枚举类型和泛型的详细介绍
|
JavaScript
Typescript 中的数组、元组和枚举类型
本文介绍了`Typescript` 的数组类型和元组类型,声明数组有两种方式,可以声明为静态类型的数组,也可以使用 `any` 声明为动态类型的数组。元组是一种特殊的数组,特点是长度固定,元素类型固定。然后介绍了 `Typescript` 的枚举类型,枚举类型在开发中经常使用,配合 `switch` 语句十分强大。
582 0
typescript27-枚举类型呢
typescript27-枚举类型呢
84 0
typescript27-枚举类型呢