为什么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
相关产品推荐
相关产品推荐

