TypeScript 中 const enum 和 enum 的核心区别在哪?日常开发应该使用哪个?

news2025/1/16 2:44:33

编译结果

enum 会生成一个对象,引用的地方保持对其引用
const enum 会擦除 enum 定义的代码,引用的地方会生成 inline code

使用enum

image.png

使用const enum

image.png

PS:编译选项 preserveConstEnums 可以使 const enum 不去擦除 enum 定义的代码,而是保持与 enum 同样的编译结果,不过引用的地方还是 inline code。

性能

enum 因为保持了引用,故性能会比编译为 inline code 的 const enum 差一点,但这个差异是微乎其微的。

特性差异

大部分场景没有什么差异。不过因为 enum 会生成对象,故能够进行对象相关的操作,比如:

enum Foo {
    A,
    B
}

const keys = Object.keys(Foo);

for (const value in Foo) {
    console.log(value);
}

而 const enum 则会报错:

'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query.

总结

区别可以参考官方文档
平时尽量使用 const enum 可以获得一点性能增益

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1885933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动扫描范围在减少剂量多相CT肝脏成像中的应用:基于CNN和高斯模型| 文献速递-深度学习自动化疾病检查

Title 题目 Automatic scan range for dose-reduced multiphase CT imaging of theliver utilizing CNNs and Gaussian models 自动扫描范围在减少剂量多相CT肝脏成像中的应用:基于CNN和高斯模型 01 文献速递介绍 肝癌是全球癌症死亡的第四大原因,每…

工作效率倍增:最常用的电脑快捷键大全

文章目录 1. CtrlA(全选)2. CtrlC(复制)3. CtrlX(剪切)4. CtrlV(粘贴)5. CtrlZ(撤销)6. CtrlY(恢复)7. Ctrl1,2,3...(切换…

武汉星起航:成功挂牌上股交,引领跨境电商行业进入全新发展阶段

2023年10月30日,武汉星起航电子商务有限公司在上海股权托管交易中心成功挂牌展示,这一里程碑式的事件标志着武汉星起航正式登陆资本市场,开启了公司发展的新篇章。作为亚马逊跨境电商领域的领军企业之一,武汉星起航此次挂牌不仅是…

SET加密:电子商务安全的基石

随着电子商务的飞速发展,如何确保在线交易的安全性和可信度已成为消费者、商家和金融机构共同关注的焦点。SET协议(Secure Electronic Transaction)作为一种安全电子交易的国际标准,凭借其卓越的安全性能和广泛的行业认可&#xf…

Linux——查找文件-find(详细)

查找文件-find 作用 - 按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 格式 find 查找路径 查找条件 具体条件 操作 注意 - find命令默认的操作是print输出 - find是检索文件的,grep是过滤文件中字符串 参数 参数 …

四川赤橙宏海商务信息咨询有限公司是真的吗?

在数字经济的浪潮下,电商行业日新月异,各种创新模式层出不穷。其中,抖音电商以其独特的社交属性和短视频传播优势,迅速崛起成为电商领域的一匹黑马。在这个风起云涌的市场中,四川赤橙宏海商务信息咨询有限公司凭借其专…

VUE3+ AntV Select 选择器:mode=“multiple“和mode=“tags“的区别是什么

文章目录 VUE3 AntV Select 选择器:mode"multiple"和mode"tags"的区别是什么一、解释二、对比演示 VUE3 AntV Select 选择器:mode"multiple"和mode"tags"的区别是什么 一、解释 “mode” 是一个参数&#xff…

TF-IDF和BM25原理和区别

TF-IDF TF-IDF是TF(词频,Term Frequency)和IDF(逆文档频率,Inverse Document Frequency)的乘积。我们先来看他们分别是怎么计算的: TF的计算有多种方式,常见的是 除以文章总词数是…

【浦语大模型开源探索】InternLM实战营第二期:技术笔记与全链路解析

本次课程链接在GitHub上: InternLM/Tutorial at camp2 (github.com) 第一次课程录播链接: 书生浦语大模型全链路开源体系_哔哩哔哩_bilibili InternLM2技术报告: arxiv.org/pdf/2403.17297.pdf 一、书生浦语大模型全链路开源体系笔记 Int…

页面速度是如何影响SEO的?

搜索引擎使用复杂的算法来衡量您网站的重要方面,以决定是否向您发送流量。 搜索引擎使用您网站的小元素来确定您网站的质量和真实性,然后此操作将转化为您的网页在搜索引擎结果页面 中出现的位置。提高您在 SERP 中的排名的过程称为搜索引擎优化 (SEO)。…

.net 项目中配置 Swagger

一、前言 二、Swagger 三、.net 项目中添加Swagger 1、准备工作 (1).net项目 (2)SwaggerController (3)XML文档注释 2、安装Swagger包 3、 添加配置swagger中间件 (1)添加S…

提升效率就靠它们啦

Hey小伙伴们~👋 知道你们都在忙碌的工作中寻求高效的秘诀,今天就给大家安利五款超实用的国产工作App,让你的工作生活更加得心应手哦!💼✨ 1️⃣【亿可达】 作为一款自动化工具,亿可达被誉为国内…

数据结构-----【链表:基础】

链表基础 1、链表的理论基础 1)基础: 链表:通过指针串联在一起的线性结构,每个节点由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个指针…

重塑电商版图:全民拼购的崛起与魅力

在数字化浪潮的推动下,电子商务领域正经历着前所未有的变革,其中,全民拼购作为一种创新的电商玩法,正逐步成为市场的新宠。本文旨在深入探讨全民拼购的核心理念、运作机制、独特优势及其引人入胜的参与方式,为行业内外…

如何挑选适合的无线模块?哪些方面值得关注

市场上的无线模块种类繁多,如LoRa模块,WiFi模块,蓝牙模块,UWB模块等涵盖了各种不同的通信标准和应用需求,为满足模块的特定需求并能实现模块最大的性能价值,那么在选择无线模块的时候可以考虑以下几个方面。…

跟我练习100道FPGA入门题目~(1/100)

难度指数:一颗星 关键词:组合逻辑、入门基础 题目介绍: 多路选择器又称为数据选择器,请参考真值表设计一个二选一多路选择器。 其中s为控制信号,d0,d1为两个输入信号,y为输出信号。当s为低电…

金蝶云星空字段之间连续触发值更新

文章目录 金蝶云星空字段之间连续触发值更新场景说明具体需求:解决方案 金蝶云星空字段之间连续触发值更新 场景说明 字段A配置了字段B的计算公式,字段B配置了自动C的计算公式,修改A的时候,触发了B的重算,但是C触发不…

如何利用GPT-4o生成有趣的梗图

文章目录 如何利用GPT-4o生成有趣的梗图一、引言二、使用GPT-4o生成梗图1. 提供主题2. 调用工具3. 获取图片实际案例输入输出 三、更多功能1. 创意和灵感2. 梗图知识 四、总结 如何利用GPT-4o生成有趣的梗图 梗图,作为互联网文化的一部分,已经成为了我们…

怎么找到DNS服务器的地址?

所有域都注册到域名名称服务器(DNS)点,以解析域名应指向的IP地址。此查找类似于在查找个人名称并查找其电话号码时的电话簿如何运行。如果DNS服务器设置错误或指向错误的名称服务器,则域可能无法加载相应的网页。 如何查找当前的…