首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型类型别名用于枚举

问类型类型别名用于枚举
EN

Stack Overflow用户
提问于 2016-10-27 04:02:56
回答 3查看 8.4K关注 0票数 9

我的打字档案里有这个:

代码语言:javascript
复制
declare namespace Somatic {
    enum PropType {
        html,
        object,
        css
    }
}

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

代码语言:javascript
复制
type PropType = Somatic.PropType;

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

代码语言:javascript
复制
switch (propType) {
    case PropType.html:
        break;
    .
    .
    .
    }

但是类型记录不识别别名枚举类型值。这里怎么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-27 04:44:09

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

票数 0
EN

Stack Overflow用户

发布于 2016-10-27 05:48:47

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

代码语言:javascript
复制
import PropType = Somatic.PropType;

关于导入别名声明这里的更多信息。

**如果使用babel-plugin-transform-typescript,则使用此语法不管用,因为这是类型抄本形式的导入。通常不建议使用命名空间。

票数 18
EN

Stack Overflow用户

发布于 2020-09-27 00:35:36

在类型记录中,枚举既是类型,也是映射。您应该将类型和映射分别命名为:

代码语言:javascript
复制
type PropTypeEnum = Somatic.PropType;
const PropType = Somatic.PropType;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40275911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档