我有两种文字类型,我想从联合A中排除B。
type A = 'a' | 'b'
type B = 'a'
当我这样做:
type MyExclude<A2, B2> = A2 extends B2 ? never : A2
type C2 = MyExclude<A, B>
// C2 = 'b'
它能正常工作,即我得到了“b”。
但是当我直接这样做时:
type C = A extends B ? never : A
// C = 'a' | 'b'
没有必要。我通过中间的通用类型还是直接操作,这有什么关系呢?
谢谢。