interface X {
a: any;
b: the same as a;
}
我能否以某种方式强制X.b
与X.a
具有相同的类型?
一个例子:
fun(data: X) {
...
}
fun({a: 'text', b: 'otherText'})
< - 很好,因为b
的字符串类型为a
。
fun({a: 'text', b: false})
< - 错误,因为b
与a
类型不匹配。
答案 0 :(得分:2)
我认为你所寻找的东西叫做泛型。
例如
interface X<T> {
a: T;
b: T;
}
function fun(data: X<string>) {
}
fun({ a: "abc", b: "one" }); //ok
fun({ a: "abc", b: false }); //fail