运行时枚举
枚举在编译之后是一个真实存储的
对象
, 所以可以在运行时使用
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
进行编译得到编译之后的源代码:
发现编译之后的内容,正是我如上所说的,即可验证我的说法是正确的🎈
最后
本期结束咱们下次再见👋~
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗