typescript: 怎样向 union type 增加一个属性。

有以下的 union type:

type A = {a: string, d?: string}
type B = {b: string, d?: string}

type UnionAB = Omit<A | B, 'd'>

想向 UnionAB 所有的 type 增加一个字段 c,最终的效果如下:

type NewUnionAB = (A & {c: string}) | (B & {c: string})

请问在 typescript 中要怎样做呢?

阅读 1.8k
3 个回答
type NewUnionAB = UnionAB & { c: string };

你不是自己都写出来了么?

也可以稍微简化一下:

type UnionAB = (A | B) & { c: string };

type NewUnionAB = UnionAB & {c: string}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题