TypeScript-运行时和常量枚举
运行时枚举
- 枚举在编译之后是一个真实存储的
对象
, 所以可以在运行时使用
enum Gender {
Male,
Female
}
将如上代码用 tsc
进行编译得到编译之后的源代码:
tsc index.ts
编译之后的源代码内容如下,编译之后发现枚举代码雀实是存在的:
- 而像接口这种只是用来做
约束
做静态检查
的代码, 编译之后是不存在
的
interface TestInterface {
name: string;
age: number;
}
将如上代码用 tsc
进行编译得到编译之后的源代码:
tsc index.ts
编译之后的源代码内容如下,编译之后发现接口代码雀实是不存在了:
常量枚举
- 普通枚举和常量枚举的区别
- 普通枚举会生成真实存在的对象
- 常量枚举不会生成真实存在的对象, 而是利用枚举成员的值直接
替换
使用到的地方
// 普通枚举
enum Gender1 {
Male,
Female
}
console.log(Gender1.Male === 0);
// 常量枚举
const enum Gender2 {
Male,
Female
}
console.log(Gender2.Male === 0);
将如上代码用 tsc
进行编译得到编译之后的源代码:
发现编译之后的内容,正是我如上所说的,即可验证我的说法是正确的🎈
标签:
TypeScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具