You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么TypeScript中两个同名const enum可以进行合并?

const enum 同名声明合并规则说明

根据定义,const 表示对应值为常量,不可被修改、重声明或重新赋值。但当我们声明 const enum 类型时,却可以再次声明同名的 const enum,二者会发生合并,即便两个枚举存在取值相同的键也可正常合并。

const enum Color {
    Red,
    Green,
    Blue
}

// 若干行代码
// 文件末尾位置

const enum Color {
    DarkRed = 0,
    DarkGreen,
    DarkBlue
}

const i = Color.Red; // 取值为0
const j = Color.DarkRed; // 取值为0

如果第二个同名枚举声明没有 const 修饰符,则会抛出错误,这一逻辑是合理的,因为 const enum 的成员会在使用位置被内联处理。


内容的提问来源于stack exchange,提问作者user96551

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:06:03