Typescript const枚举问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Typescript const枚举问题相关的知识,希望对你有一定的参考价值。
我在我的Typescript文件中声明了以下枚举:
export const enum INPUT_PATTERNS{
ALL = ".*",
ONLY_NUMBERS = "[0-9]*"
}
在编译期间,我继续收到以下错误消息:
在'const'enum声明中,成员初始值设定项必须是常量表达式。
我用常量值初始化了枚举,所以我不明白这里有什么问题?
其次,如果我从枚举中删除const标识符如下:
export enum INPUT_PATTERNS{
ALL = ".*",
ONLY_NUMBERS = "[0-9]*"
}
然后我收到以下错误:
键入'“。”'不能分配给'INPUT_PATTERNS'。 类型'“[0-9]”'不能分配给'INPUT_PATTERNS'类型。
答案
你可以这样做:
export enum INPUT_PATTERNS{
ALL = <any>".*",
ONLY_NUMBERS = <any>"[0-9]*"
}
另一答案
枚举允许我们定义一组命名的数字常量。 http://www.typescriptlang.org/docs/handbook/enums.html
您可以使用命名空间和const变量的组合:
export namespace INPUT_PATTERNS {
export const ALL = ".*";
export const ONLY_NUMBERS = "[0-9]*";
}
以上是关于Typescript const枚举问题的主要内容,如果未能解决你的问题,请参考以下文章
Eslint 说 Typescript 应用程序中的所有枚举“已经在上层范围内声明”