我有一些描述消息的界面:
interface Message1 {
name: "message1";
data: any;
}
interface Message2 {
name: "message2";
data: any;
}
type Message = Message1 | Message2;
这是从JSON模式自动生成的接口/类型,我很难更改它。
我想访问消息名称的类型,即'message1' | 'message2'
,例如Message.type
。
有人知道/如果我们能做到吗?
答案 0 :(得分:4)
您可以执行以下操作:
type MessageName = Message['name']
const a: MessageName = 'message1' // OK
const b: MessageName = 'message12131' // error
有关联合类型check the documentation的更多详细信息。