eum的Typescript类型别名

时间:2016-10-27 04:02:56

标签: javascript typescript enums alias

我在我的打字文件中有这个:

declare namespace Somatic {
    enum PropType {
        html,
        object,
        css
    }
}

在另一个文件index.ts中,我对这个枚举有一个较短的别名:

type PropType = Somatic.PropType;

然后我想在switch语句中使用别名枚举类型:

switch (propType) {
    case PropType.html:
        break;
    .
    .
    .
    }

但Typescript无法识别别名枚举类型值。这有什么不对?

3 个答案:

答案 0 :(得分:6)

您应该使用import关键字而不是type

import PropType = Somatic.PropType;

有关导入别名声明here的更多信息。

答案 1 :(得分:0)

基本上,定义文件只是声明现有其他代码的类型。 TypeScript中的枚举实际上是数字,而且很可能是您在不使用实际数字的基础上构建的现有代码。更好的实现可能只是切换字符串;

答案 2 :(得分:0)

在打字稿中,枚举既是类型又是映射。 您应该分别为类型和地图加上别名:

type PropTypeEnum = Somatic.PropType;
const PropType = Somatic.PropType;