小编Ale*_*ehe的帖子

如何在打字稿中将枚举映射到另一个枚举?

我想将具有枚举类型的一个对象的属性映射到具有其他枚举类型的另一个对象的属性。

我尝试过type1.a as Enum2Enum2[type1.a]没有成功。

这是我的简化代码问题:

enum Enum1 {
  N = 0,
  A = 1,
  B = 2
}

enum Enum2 {
  A = 1,
  B = 2
}

interface Type1 {
  a: Enum1;
}

interface Type2 {
  a: Enum2;
}

const type1: Type1 = {
  a: Enum1.A
};

const type2: Type2 = {
  a: type1.a
};
Run Code Online (Sandbox Code Playgroud)

尝试一下

抛出错误:

Type 'Enum1' is not assignable to type 'Enum2'.
(property) Type2.a: Enum2
Run Code Online (Sandbox Code Playgroud)

enums casting typescript

7
推荐指数
1
解决办法
7522
查看次数

标签 统计

casting ×1

enums ×1

typescript ×1