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
子站问答
访问
宣传栏