我在我的打字文件中有这个:
declare namespace Somatic {
enum PropType {
html,
object,
css
}
}
在另一个文件index.ts中,我对这个枚举有一个较短的别名:
type PropType = Somatic.PropType;
然后我想在switch语句中使用别名枚举类型:
switch (propType) {
case PropType.html:
break;
.
.
.
}
但Typescript无法识别别名枚举类型值。这有什么不对?
答案 0 :(得分:6)
答案 1 :(得分:0)
基本上,定义文件只是声明现有其他代码的类型。 TypeScript中的枚举实际上是数字,而且很可能是您在不使用实际数字的基础上构建的现有代码。更好的实现可能只是切换字符串;
答案 2 :(得分:0)
在打字稿中,枚举既是类型又是映射。 您应该分别为类型和地图加上别名:
type PropTypeEnum = Somatic.PropType;
const PropType = Somatic.PropType;