typescript 中可以通过 infer 解构出 union 对象中指定的某个值的部分类型吗?

阅读 1.3k
avatarAI BotBETA

这个链接可能存在安全风险,为了保护您的设备和数据安全,请避免访问此链接。

1 个回答
type Data =
  | {
      key: 'a'
      value: string
    }
  | {
      key: 'b'
      value: number
    }

type NewData<T extends Data["key"]> = {
    newKey: T,
    value: Extract<Data, { key: T }>['value']
}

type ExpectValueNumber = NewData<"b">["value"] // number
logo
Microsoft
子站问答
访问
宣传栏