You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于TypeScript接口的属性类型声明联合类型?

实现方案

先把你的接口正式定义出来:

interface TargetInterface {
  a: string;
  b: number;
}

直接通过索引类型就能基于这个接口生成你要的联合类型:

type MyType = TargetInterface[keyof TargetInterface];

原理说明

  • keyof TargetInterface 会提取出接口所有属性名的联合类型,也就是 "a" | "b"
  • 用这个联合类型去索引原接口,就能拿到每个属性对应的类型,TypeScript会自动把它们合并成 string | number 的联合类型,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Dan.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:54:49