TypeScript:使用枚举元素而不指定枚举名称

Sas*_*ota 6 javascript import enums typescript

我有一个枚举,我想在几个地方使用它。让我们这样说枚举:

export enum MyEnum {
    MY_VALUE,
    MY_SECOND_VALUE
}
Run Code Online (Sandbox Code Playgroud)

每次使用它时,我都必须在值前指定枚举名称,例如:

MyEnum.MY_VALUE
Run Code Online (Sandbox Code Playgroud)

问:是否可以以不需要指定名称的方式导入枚举?

我想直接使用该值:

MY_VALUE
Run Code Online (Sandbox Code Playgroud)

在 Java 世界中,它被称为静态导入。但我还没有找到像 TypeScript 这样的东西。

我的 TypeScript 版本是 2.5.3。

Tit*_*mir 5

Typescript 中没有静态导入的语法。

您可以将 value 成员分配给一个常量并使用它:

const  MY_VALUE = MyEnum.MY_VALUE;
Run Code Online (Sandbox Code Playgroud)

如果在导出模块中将枚举值定义为常量,则可以轻松地将这些值导入到需要使用它们的任何其他位置:

// enumModule .ts
export  enum MyEnum {
    MY_VALUE,
    MY_SECOND_VALUE
}

export const  MY_VALUE = MyEnum.MY_VALUE;
export const  MY_SECOND_VALUE = MyEnum.MY_SECOND_VALUE;

// Other file.ts
import { MY_SECOND_VALUE, MY_VALUE } from './enumModule'
Run Code Online (Sandbox Code Playgroud)