错误代码:
export declare const enum JSDocTagName {
Desc = "desc",
Id = "id",
Meaning = "meaning",
}
将 Angular 6 与 .net 框架结合使用
常量枚举在转译过程中被擦除,因此它们不会在运行时应用中留下任何代码。所有用途都替换为整个应用程序的值。因此,您的declare
关键字是多余的:
export const enum JSDocTagName {
Desc = "desc",
Id = "id",
Meaning = "meaning"
}
与普通枚举不同,常量枚举不能具有某些类型的计算值,例如,在普通枚举中允许这样做,但不允许常量枚举:
const x = 1;
enum A {
Name = x,
Age = x + 1
}
您的错误通常是因为您尝试在常量枚举上执行类似上述操作。
即使在常量枚举中,您也可以使用一些计算值 - 只要结果是可预测的,例如:
const enum A {
Name = 1 << 0,
Age = 1 << 1,
Date = 1 << 2
}