打字稿常量枚举问题



我已经在我的打字稿文件中声明了以下枚举:

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

在编译过程中,我不断收到以下错误消息:

在"const"枚举声明中,成员初始值设定项必须是常量表达式。

我已经用常量值初始化了枚举,所以我不明白这里有什么问题?

其次,如果我从枚举中删除 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

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

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

最新更新