Javascript TypeScript:使用枚举元素而不指定枚举名称
我有一个枚举,我想在几个地方使用它。 让我们这样说enum:Javascript TypeScript:使用枚举元素而不指定枚举名称,javascript,typescript,import,enums,Javascript,Typescript,Import,Enums,我有一个枚举,我想在几个地方使用它。 让我们这样说enum: export enum MyEnum { MY_VALUE, MY_SECOND_VALUE } 每次使用它时,我都必须在值前面指定枚举名称,例如: MyEnum.MY_VALUE Q:是否可以以不需要指定名称的方式导入枚举 我想直接使用该值: MY_VALUE 在java世界中,它被称为静态导入。但我还没有找到像那样的打字稿 我的TypeScript版本是2.5.3。TypeScript中没有用于静态导入的语法
export enum MyEnum {
MY_VALUE,
MY_SECOND_VALUE
}
每次使用它时,我都必须在值前面指定枚举名称,例如:
MyEnum.MY_VALUE
Q:是否可以以不需要指定名称的方式导入枚举
我想直接使用该值:
MY_VALUE
在java世界中,它被称为静态导入。但我还没有找到像那样的打字稿
我的TypeScript版本是2.5.3。TypeScript中没有用于静态导入的语法 您可以将值成员指定给常量,并使用该常量:
const MY_VALUE = MyEnum.MY_VALUE;
如果在导出模块中将枚举值定义为常量,则可以在需要使用它们的任何其他位置轻松导入值:
// 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'
非常感谢。它起作用了。在TypeScript世界中实现这样的东西是一种好的实践吗?老实说,它看起来有点难看。如果我像这样声明常量,使用enum有什么意义?我可以只声明字符串常量。据我所知,这是一种不错的做法,尽管我还没有看到它被广泛使用。TS/JS中导入工作方式的优点是,导入程序明确说明了导入的内容,因此不会产生不必要的冲突。使用枚举的优点是,您可以将函数输入仅限于该枚举,而不必指定所有常量类型:
function c(p:MyEnum){}
vsfunction c2(p:typeof MY_VALUE | typeof MY_SECOND_VALUE){}