Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TypeScript-数字枚举和字符串枚举

TypeScript-数字枚举和字符串枚举

原创
作者头像
杨不易呀
发布于 2023-09-28 11:26:09
发布于 2023-09-28 11:26:09
4690
举报
文章被收录于专栏:杨不易呀杨不易呀

TypeScript-数字枚举和字符串枚举

TS 中支持两种枚举, 一种是 数字枚举, 一种是 字符串枚举

数字枚举

默认情况下就是数字枚举

代码语言:typescript
AI代码解释
复制
enum Gender {
    Male,
    Female
}

console.log(Gender.Male);
console.log(Gender.Female);

数字枚举注意点

  • 数字枚举的取值默认从 0 开始递增
代码语言:typescript
AI代码解释
复制
enum Gender {
    Male,
    Female
}

console.log(Gender.Male);
console.log(Gender.Female);
  • 数字枚举的取值可以是字面量, 也可以是常量, 也可以是计算的结果

字面量:

代码语言:typescript
AI代码解释
复制
enum Gender {
    Male = 1,
    Female
}

console.log(Gender.Male);
console.log(Gender.Female);

常量,如果使用常量给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值:

代码语言:typescript
AI代码解释
复制
const num = 666;

enum Gender {
    Male = num,
    Female = 1
}

console.log(Gender.Male);
console.log(Gender.Female);

计算的结果,如果使用计算结果给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值:

代码语言:typescript
AI代码解释
复制
function getNum() {
    return 888;
}

enum Gender {
    Male = getNum(),
    Female = 1
}

console.log(Gender.Male);
console.log(Gender.Female);

枚举反向映射

  • 可以根据枚举值获取到原始值
代码语言:typescript
AI代码解释
复制
enum Gender {
    Male,
    Female
}

console.log(Gender.Male);
  • 也可以根据原始值获取到枚举值
代码语言:typescript
AI代码解释
复制
enum Gender {
    Male,
    Female
}

console.log(Gender[0]);

字符串枚举

  • 如果使用字符串给前面的枚举值赋值了, 那么后面的枚举值也必须手动赋值
代码语言:typescript
AI代码解释
复制
enum Gender {
    Male = 'www.it6666.top',
    Female = 'yangbuyiya'
}

console.log(Gender.Male);
console.log(Gender.Female);

字符串枚举注意点

  • 如果使用字符串给前面的枚举值赋值了, 那么后面的枚举值也必须手动赋值上面已经介绍了
  • 和数字枚举不一样, 字符串枚举不能使用常量或者计算结果给枚举值赋值
  • 虽然字符串枚举不能够使用常量或者计算结果给枚举值赋值, 但是它可以使用内部的其它枚举值来赋值
代码语言:typescript
AI代码解释
复制
enum Gender {
    Male = 'yangbuyiya',
    Yao = Male
}

console.log(Gender.Male);
console.log(Gender.Yao);

异构枚举

枚举中既包含数字又包含字符串, 我们就称之为 异构枚举

代码语言:typescript
AI代码解释
复制
enum Gender {
    Male = 6,
    Female = 'nv'
}

console.log(Gender.Male);
console.log(Gender.Female);

注意点:如果是字符串枚举, 那么无法通过原始值获取到枚举值:

代码语言:typescript
AI代码解释
复制
enum Gender {
    Male = 6,
    Female = 'nv'
}

console.log(Gender['nv']);
console.log(Gender);
end02
end02
输入图片说明
输入图片说明

最后

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

输入图片说明
输入图片说明

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
enum 枚举
枚举是一组常量,用于规范程序的开发,请先设想一个情景:在一个分组开发中,有一个类的属性是指人的性别,在没有一组规范的前提下,可能这个程序员会将性别值设置为:“男,女”,那个程序员会将性别值设置为:“male,female”,这样最后在整合的时候,就会出现问题。
宿春磊Charles
2022/03/29
9290
enum 枚举
TypeScript基础(二)扩展类型-枚举及其位运算
TypeScript中的枚举(Enum)是一种数据类型,用于定义一组具有命名值的常量。枚举可以帮助我们在代码中使用更具有可读性和可维护性的常量。
can4hou6joeng4
2023/11/17
4310
TypeScript-运行时和常量枚举
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
2500
TypeScript入门
JavaScript 中可以用 Number 表示的最大整数为 2^53 - 1,可以写为 Number.MAX_SAFE_INTEGER。如果超过了这个界限,可以用 BigInt来表示,它可以表示任意大的整数。
江拥羡橙
2024/10/06
1290
TypeScript入门
TypeScript-声明合并
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/29
3050
一起学Rust-枚举
枚举的定义在其他许多的语言中都有实现,举例来说,比如C中的枚举,枚举值在未赋值的情况下默认从0开始递增或从上一个枚举值开始递增,值类型可以是整数或字符类型,实质只能保存整型:
江湖安得便相忘
2019/08/28
2K0
【TypeScript】010-类型别名、字符串字面量类型、元组、枚举
上例中,我们使用 type 定了一个字符串字面量类型 EventNames,它只能取三种字符串中的一种。
訾博ZiBo
2025/01/06
2060
TypeScript入门第一天,所有类型+基础用法+接口使用
const是对let的一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。
玖柒的小窝
2021/09/29
7280
TypeScript不学?你养我啊[1]
TypeScript,Type(类型),也就是说它与JavaScript相比更加注重类型,Script则说明TypeScript是在JavaScript基础上实现的。
用户4793865
2023/01/12
1K0
TypeScript不学?你养我啊[1]
枚举_TypeScript笔记7
按照枚举值的类型,把枚举分为数值枚举,字符串枚举以及异构枚举。此外,还有特殊的联合枚举,以及常量枚举和环境枚举
ayqy贾杰
2019/06/12
6140
TypeScript-枚举类型
介绍其基本概念、语法特性以及如何开始使用它来构建类型安全的JavaScript应用程序。无论您是新手还是有经验的开发者,都能在这篇文章中找到有关TypeScript的重要信息和实用技巧。让我们一起探索这个强大的编程语言!
杨不易呀
2023/09/28
3790
TypeScript-枚举类型
TypeScript入门——扩展类型之枚举
在上一篇文章中聊到了很多TS基础类型,那为什么又出现了扩展类型枚举,我们都知道任何东西都不是平白无故就出现的,都是为了解决特定的问题。枚举只是扩展类型其中之一,比如说还有类型别名,接口,类
程序员法医
2022/08/11
1.4K0
TypeScript入门——扩展类型之枚举
TypeScript-枚举成员类型和联合类型
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
4150
【TypeScript】TS类型声明(三)
枚举主要分为数字类型枚举、字符串类型枚举、异构。 语法:enum + 变量名,意思是定义了一个叫做“变量名”的枚举类型 优点:定义一些常量,可以清晰地表达意图或创建一组有区别的用例。
can4hou6joeng4
2023/11/28
3950
TypeScript类型声明
本文主要讲解TypeScript的基本数据结构,主要包括JS基本数据类型以及TS特有的数据类型。
不叫猫先生
2023/11/22
7270
TypeScript类型声明
TypeScript 超详细入门讲解
当我们需要将 unknown 类型的变量赋值给其他类型的变量的时候,我们可以给他指定类型
小丞同学
2021/10/08
8060
【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【下】
因此,一个变量设置类型为 any 后,相当于对该变量关闭了 TS 的类型检测,TS 压根就不管这个变量了,TypeScript 中不建议使用 any。
HelloWorldZ
2024/03/20
1680
Java函数式编程之Stream流编程
如何区分中间操作和终止操作呢?可以根据操作的返回值类型判断,如果返回值是Stream,则该操作为中间操作。如果返回值不是Stream或者为空,则该操作是终止操作。
端碗吹水
2020/09/23
6380
Java函数式编程之Stream流编程
【愚公系列】《鸿蒙原生应用开发从零基础到多实战》005-TypeScript 中的枚举
在现代编程中,枚举是一种非常实用的类型,它可以帮助我们管理和组织一组相关的常量,使代码更加清晰和易于维护。TypeScript作为一种静态类型语言,提供了对枚举的强大支持,使得开发者能够更有效地定义和使用常量集合。在鸿蒙原生应用开发中,掌握TypeScript中的枚举,不仅可以提升代码的可读性,还能减少出错的可能性。
愚公搬代码
2025/06/03
940
Typescript-基础类型
Typescript支持与Javascript几乎相同的数据类型,此外还提供使用的枚举类型方便我们使用。
用户3258338
2019/07/19
6820
Typescript-基础类型
相关推荐
enum 枚举
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档