如何在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
相关产品推荐
相关产品推荐

