我想找到一种方法来检查两个变量是否可以相互分配。
但是同时我不希望它是编译错误,因此以下内容不符合我的需求:
let x: { _type: 'a' }
let y: { _type: 'b' }
y = x // error
我的想法之一是以某种方式将它们组合成never
类型。
如果可以的话,可以使用typeAssert.isNever()
中的type-plus
进行测试:
let z: never
typeAssert.isNever(z)
我尝试了{ _type: 'a' } & { _type: 'b' }
,但这没用。
答案 0 :(得分:0)
找到了一个解决方案:Extract<{ _type: 'a' }, { _type: 'b' }>
会给我never