TypeScript:是否可以创建映射的联合类型?

时间:2017-05-02 21:06:08

标签: typescript

是否可以组合"映射类型"和#34;工会类型"创建表达式的功能,该表达式将以下接口作为输入:

interface AwaActionTypes {
  CLICKLEFT: 'CL';
  CLICKRIGHT: 'CR';
  SCROLL: 'S';
  ZOOM: 'Z';
  RESIZE: 'R';
  KEYBOARDENTER: 'KE';
  KEYBOARDSPACE: 'KS';
  OTHER: 'O';
}

并生成一个类似于以下联合类型别名的类型:

type AwaActionType: 'CL' | 'CR' | 'S' | 'Z' | 'R' | 'KE' | 'KS' | 'O';

我尝试使用keyof|等组合。没有找到有效的东西。在handbook中也没有看到任何内容。

1 个答案:

答案 0 :(得分:14)

这是keyof和lookup type

的组合
type AwaActionType = AwaActionTypes[keyof AwaActionTypes];