假定有一个函数f
,它带有两个参数a: A
和b: B
,其中A
具有类型prop
的属性B
:
interface A {
...
prop: B
...
}
interface B {
...
}
function f(a: A, b: B): R {
...
}
TypeScript中是否存在一种通过类型系统强制执行的方法,即第二个参数与第一个参数中的属性B
指向同一类型prop
的对象?
即a.prop === b
答案 0 :(得分:2)
我不想知道以这种方式发送它的原因,但是从技术上讲,所需的东西是不可能的,因为在编译时只能检查类型,而不能检查对象值。您只能在运行时检查的值-这意味着您将需要在函数中使用“ if”来检查A prop和B的相等性。