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

如何在TypeScript中合并类型避免生成never并得到目标联合类型?

如何合并TypeScript字面量类型得到指定联合类型?

你用&(交叉类型)得到never是因为"a"和"b"|"c"没有任何重叠的取值,交叉类型会取两个类型的交集,自然就成了不存在的never类型。

要得到"a" | "b" | "c"这种包含所有取值的类型,直接用**联合类型运算符|**合并即可:

type a = "a"
type bc = "b" | "c"
type abc = a | bc // 此时abc的类型就是 "a" | "b" | "c"

简单来说,交叉类型&是找"同时满足两个类型的取值",联合类型|是找"满足任意一个类型的取值",你需要的是后者,所以换个运算符就解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:31:19