Javascript 强制下一个接口键与上一个键具有相同的类型
我能否以某种方式强制Javascript 强制下一个接口键与上一个键具有相同的类型,javascript,typescript,types,Javascript,Typescript,Types,我能否以某种方式强制X.b与X.a具有相同的类型 例如: interface X { a: any; b: the same as a; } fun({a:'text',b:'otherText'})我想你要找的是一种叫做泛型的东西 例如 接口X{ a:T; b:T; } 功能乐趣(数据:X){ } 乐趣({a:“abc”,b:“一”})//好啊 乐趣({a:abc,b:false})//失败 我想你要找的是一种叫做泛型的东西 例如 接口X{ a:T; b:T; } 功能乐趣(数据:X){
X.b
与X.a
具有相同的类型
例如:
interface X {
a: any;
b: the same as a;
}
fun({a:'text',b:'otherText'})
我想你要找的是一种叫做泛型的东西
例如
接口X{
a:T;
b:T;
}
功能乐趣(数据:X){
}
乐趣({a:“abc”,b:“一”})//好啊
乐趣({a:abc,b:false})//失败
我想你要找的是一种叫做泛型的东西
例如
接口X{
a:T;
b:T;
}
功能乐趣(数据:X){
}
乐趣({a:“abc”,b:“一”})//好啊
乐趣({a:abc,b:false})//失败
嗯,我知道泛型接口,但事实上,我有一个比上述示例更复杂的对象。a和b是深度嵌套的,我不想强制转换整个接口:\@elzoy发布了一个更完整的示例,否则Keith的回答是对你问题最明显的回答。我知道泛型接口,但事实上,我有一个比上述示例更复杂的对象。a和b是深度嵌套的,我不想转换整个界面:\@elzoy发布了一个更完整的示例,否则Keith的回答是对您的问题最明显的回答。
fun(data: X) {
...
}
interface X<T> {
a: T;
b: T;
}
function fun(data: X<string>) {
}
fun({ a: "abc", b: "one" }); //ok
fun({ a: "abc", b: false }); //fail