![]() |
1
5
啊,
type-level equality operator
.@MattmcCutchen想出了一个
solution
涉及通用条件类型,当两个类型完全相等时,它可以很好地检测,而不是互相分配。在一个完美的声音类型系统中,“可相互分配”和“相等”可能是相同的事情,但打字稿不是完美的声音。尤其是,
这里有一个
让我们看看它的工作原理:
好的,这些是不同类型的。可能还有其他一些边缘情况,您认为相同的两种类型被视为不同的,反之亦然:
无论如何,对于这种类型,我们可以生成一个生成错误的函数,除非两种类型以这种方式相等:
每个参数都有一个类型
请注意,此函数的参数不是可选的。我真的不知道你为什么想要它们是可选的,但是
这件事由你决定。 不管怎样,希望能有所帮助。祝你好运! |
![]() |
2
1
以下是迄今为止我发现的最强大的解决方案:
感谢@jcalz为我们指明了正确的方向! |
![]() |
3
-1
我们应该针对这个问题采取不同的方法。例如,如果我们知道我们正在与任何一个比较数字,我们可以使用typeof()。 例如,如果我们在比较接口,我们可以使用以下方法:
|
![]() |
Devmix · 如何在new Map()中保存状态? 1 年前 |
![]() |
Luisus · 从Prisma 5客户端提取类型 1 年前 |
|
Rostys · TypeScript:使用类型转换进行类型保护 1 年前 |
![]() |
Anne · 类型不一致的对象的TypeScript类型定义 1 年前 |
|
tuimui · 使用react+ts通过道具传递数据 1 年前 |