1
12
让我们从将类型的元组转换为元组中类型的并集开始:
然后我们向 this answer 要从类型并集转换为类型交集,请执行以下操作:
现在我们有了它,让我们为它写一个包装
|
2
12
虽然我喜欢@y2bd的答案,但我认为如果传入的任何参数本身都是联合类型,就会有问题:
你会发现
解决这个问题的一种方法是“装箱”和“取消装箱”元组,这样就可以区分作为并集的单个参数和多个参数类型的并集:
现在,您将拥有正确的类型:
尽管如此,我不知道这个版本是否有自己的问题。更不用说十字路口并不是你想要的。你宁愿 overwrite properties if possible ,哪一个十字路口没有被捕捉。因此,在我们建议更改标准库之前,我们可能需要考虑TypeScript提供给我们的最佳签名。 希望有帮助。祝你好运 |
Devmix · 如何在new Map()中保存状态? 1 年前 |
Luisus · 从Prisma 5客户端提取类型 1 年前 |
Rostys · TypeScript:使用类型转换进行类型保护 1 年前 |
Anne · 类型不一致的对象的TypeScript类型定义 1 年前 |
tuimui · 使用react+ts通过道具传递数据 1 年前 |