prm*_*mph 5 javascript enums alias typescript
我在我的打字文件中有这个:
declare namespace Somatic {
enum PropType {
html,
object,
css
}
}
Run Code Online (Sandbox Code Playgroud)
在另一个文件index.ts中,我有一个较短的别名,因为:
type PropType = Somatic.PropType;
Run Code Online (Sandbox Code Playgroud)
然后我想在switch语句中使用别名枚举类型:
switch (propType) {
case PropType.html:
break;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
但是Typescript无法识别别名的枚举类型值.这有什么不对?
您应该使用import关键字而不是type:
import PropType = Somatic.PropType;
Run Code Online (Sandbox Code Playgroud)
有关导入别名声明的更多信息,请参见此处。
小智 8
在打字稿中,枚举既是类型又是映射。您应该分别为类型和映射添加别名:
type PropTypeEnum = Somatic.PropType;
const PropType = Somatic.PropType;
Run Code Online (Sandbox Code Playgroud)