使用enum作为类型/接口

时间:2016-03-30 02:14:02

标签: javascript typescript

将枚举器从JavaScript转换为TypeScript时,我不得不添加自己的枚举 - myEnumType

如果我使用这样的枚举作为属性类型:

prop:myEnumType

预计该值必须为myEnumType类型。

我们如何在TypeScript中声明一个属性,它将枚举本身表示为一个类型,而不是该类型的值?

我正在尝试通过接口属性将枚举公开为类型。

2 个答案:

答案 0 :(得分:3)

  

我试图通过接口属性将枚举公开为类型。

您可以声明 enum,例如在vendor.d.ts

declare enum MyEnumType {
   Member1,
   Member2,
}

更新

  

然后我如何通过接口属性声明枚举的属性作为类型?

interface Foo {
  prop: MyEnumType
}

答案 1 :(得分:2)

在myEnumType.ts类

export enum MyEnumType {
  Member1,
  Member2
}

在Foo.ts类

import { MyEnumType } from './myEnumType';
export interface Foo {
  prop: MyEnumType;
}