假设有一个函数f,它有两个参数a: A和b: B,其中A有一个B类型的属性prop
interface A {
...
prop: B
...
}
interface B {
...
}
function f(a: A, b: B): R {
...
}在TypeScript中,有没有办法通过类型系统强制第二个参数指向与第一个参数中的属性prop相同的B类型的对象?
即a.prop === b
发布于 2019-03-29 21:21:03
我不想知道你为什么用这种方式发送它,但是你想要的东西在技术上是不可能的,因为在编译时你只能检查类型,而不能检查对象的值。只能在运行时检查的值-因此这意味着您需要在函数中使用"if“来检查A属性和B属性的等价性。
https://stackoverflow.com/questions/55418133
复制相似问题