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

TypeScript-运行时和常量枚举

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

运行时枚举

枚举在编译之后是一个真实存储的 对象, 所以可以在运行时使用

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

将如上代码用 tsc 进行编译得到编译之后的源代码:

image-20211130173444522
image-20211130173444522
代码语言:shell
AI代码解释
复制
tsc index.ts

编译之后的源代码内容如下,编译之后发现枚举代码雀实是存在的:

image-20211130184131979
image-20211130184131979

而像接口这种只是用来做 约束静态检查 的代码, 编译之后是 不存在

代码语言:typescript
AI代码解释
复制
interface TestInterface {
    name: string;
    age: number;
}

将如上代码用 tsc 进行编译得到编译之后的源代码:

image-20211130173444522
image-20211130173444522
代码语言:shell
AI代码解释
复制
tsc index.ts

编译之后的源代码内容如下,编译之后发现接口代码雀实是不存在了:

image-20211130173551412
image-20211130173551412

常量枚举

普通枚举和常量枚举的区别 普通枚举会生成真实存在的对象 常量枚举不会生成真实存在的对象, 而是利用枚举成员的值直接 替换 使用到的地方

代码语言:typescript
AI代码解释
复制
// 普通枚举
enum Gender1 {
    Male,
    Female
}

console.log(Gender1.Male === 0);

// 常量枚举
const enum Gender2 {
    Male,
    Female
}

console.log(Gender2.Male === 0);

将如上代码用 tsc 进行编译得到编译之后的源代码:

image-20211130221833173
image-20211130221833173

发现编译之后的内容,正是我如上所说的,即可验证我的说法是正确的🎈

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

最后

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

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

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

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TypeScript-枚举类型
介绍其基本概念、语法特性以及如何开始使用它来构建类型安全的JavaScript应用程序。无论您是新手还是有经验的开发者,都能在这篇文章中找到有关TypeScript的重要信息和实用技巧。让我们一起探索这个强大的编程语言!
杨不易呀
2023/09/28
3690
TypeScript-枚举类型
TypeScript-枚举成员类型和联合类型
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/28
4100
TypeScript-数字枚举和字符串枚举
计算的结果,如果使用计算结果给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值:
杨不易呀
2023/09/28
4610
TypeScript-声明合并
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
杨不易呀
2023/09/29
3040
TypeScript基础(二)扩展类型-枚举及其位运算
TypeScript中的枚举(Enum)是一种数据类型,用于定义一组具有命名值的常量。枚举可以帮助我们在代码中使用更具有可读性和可维护性的常量。
can4hou6joeng4
2023/11/17
4260
TypeScript基础知识
TypeScript是JavaScript的一个超集,支持ECMAScript6标准。
岳泽以
2022/11/22
2.5K0
TypeScript基础知识
TypeScript入门——扩展类型之枚举
在上一篇文章中聊到了很多TS基础类型,那为什么又出现了扩展类型枚举,我们都知道任何东西都不是平白无故就出现的,都是为了解决特定的问题。枚举只是扩展类型其中之一,比如说还有类型别名,接口,类
程序员法医
2022/08/11
1.4K0
TypeScript入门——扩展类型之枚举
TypeScript 初学者入门学习笔记(一)
TypeScript 的类型系统,在很大程度上弥补了 JavaScript 的缺点。
前端达人
2021/06/16
2K0
typescript[0x01]--基础数据类型
楼上这句话后半部分听不懂没有关系,下面跟ataola一起通过一些具体实例和思考,来一起学习一下typescript吧!
江涛学编程
2020/06/19
6040
TypeScript 学习笔记(一)
TypeScript 是 JavaScript 的一个超集,主要提供了 类型系统 和对 ES6 的支持,由 Microsoft 开发。 目前应用:vue3.0,angular2.0,vscode, react ....
前端老鸟
2020/05/18
3K0
TypeScript学习笔记(四)—— TypeScript提高
Type又叫类型别名(type alias),作用是给一个类型起一个新名字,不仅支持interface定义的对象结构,还支持基本类型、联合类型、交叉类型、元组等任何你需要手写的类型。
张果
2022/10/04
2.6K0
TypeScript学习笔记(四)—— TypeScript提高
【Vue3+TypeScript】CRM系统项目搭建之 — 关于拥抱 TypeScript 这件事【下】
因此,一个变量设置类型为 any 后,相当于对该变量关闭了 TS 的类型检测,TS 压根就不管这个变量了,TypeScript 中不建议使用 any。
HelloWorldZ
2024/03/20
1670
Typescript学习笔记,从入门到精通,持续记录
TypeScript 最大的优势之一便是增强了编辑器和 IDE 的功能,包括代码补全、接口提示、跳转到定义、重构等。
房东的狗丶
2023/02/17
2.2K0
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
博主假设有这么一个需求: 有一个基类, 所有的子类都需要继承于这个基类, 但是我们不希望别人能够通过基类来创建对象:
杨不易呀
2023/09/28
4610
TypeScript-类方法修饰符和TypeScript-类可选属性和参数属性
【初学者笔记】🐯年要掌握 Typescript
JavaScript 是弱类型语言, 很多错误只有在运行时才会被发现,而 TypeScript 提供了一套静态检测机制, 可以帮助我们在编译时就发现错误。
一尾流莺
2022/12/10
1.4K0
【初学者笔记】🐯年要掌握 Typescript
【TypeScript】010-类型别名、字符串字面量类型、元组、枚举
上例中,我们使用 type 定了一个字符串字面量类型 EventNames,它只能取三种字符串中的一种。
訾博ZiBo
2025/01/06
2030
掌握 TypeScript:JavaScript 的超能伙伴
首先来看看没有使用 Ts 之前的写法其中会存在那些问题,注意点, 由于 JS 是弱类型的,所以只要定义了一个变量, 就可以往这个变量中存储任意类型的数据,也正是因为如此, 所以会给我们带来一个问题:
程序员NEO
2025/03/06
1420
掌握 TypeScript:JavaScript 的超能伙伴
TypeScript学习笔记(二)—— TypeScript基础
JavaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。
张果
2022/10/04
5.4K0
TypeScript学习笔记(二)—— TypeScript基础
TypeScript入门
JavaScript 中可以用 Number 表示的最大整数为 2^53 - 1,可以写为 Number.MAX_SAFE_INTEGER。如果超过了这个界限,可以用 BigInt来表示,它可以表示任意大的整数。
江拥羡橙
2024/10/06
1270
TypeScript入门
TypeScript
TypeScript中的Object类型并不单指普通的对象类型,而是泛指非原始类型,也就是对象,数组和函数
conanma
2021/10/28
1.9K0
相关推荐
TypeScript-枚举类型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档