前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TypeScript-运行时和常量枚举

TypeScript-运行时和常量枚举

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

运行时枚举

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

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

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

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

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

image-20211130184131979
image-20211130184131979

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

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

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

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

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

image-20211130173551412
image-20211130173551412

常量枚举

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

代码语言:typescript
复制
// 普通枚举
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行时枚举
  • 常量枚举
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档