Typescript const枚举问题

时间:2017-02-03 13:08:12

标签: typescript

我在我的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'。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

export enum INPUT_PATTERNS{
    ALL          = <any>".*",
    ONLY_NUMBERS = <any>"[0-9]*" 

}

答案 1 :(得分:1)

  

Enums允许我们定义一组命名的数字常量。 http://www.typescriptlang.org/docs/handbook/enums.html

您可以使用命名空间和常量变量的组合:

export namespace INPUT_PATTERNS {
    export const ALL = ".*";
    export const ONLY_NUMBERS = "[0-9]*";
}