xox*_*der 2 generics interface node.js typescript typescript-generics
我有三个接口
inteface A {
name: string
id: number
address: string
details : object
}
inteface B {
name: string
id: string
address: string
details : string
age: number
}
inteface C {
name: string
id: string
address: object
details : object
age: number
height: number
}
Run Code Online (Sandbox Code Playgroud)
是的,您注意到不同的接口可能具有不同的类型,其中公共字段
例如接口 A有id: number,但B有id: string
现在我有了一个通用的界面
interface Common {
group: string
class: string
}
Run Code Online (Sandbox Code Playgroud)
现在我有一个接受参数 Object 的函数,该函数肯定具有接口 Common字段,但可能具有接口 A、B 和 C 之一的字段
我想使用它将Common扩展其中的任何一个接口A,B以及C
function insert(params: Common){
....
}
Run Code Online (Sandbox Code Playgroud)
现在我想到使用泛型,但我没能做到我想要的,所以有人可以告诉我如何将它与泛型一起使用并获得我想要的东西(如果可以通过泛型完成),
如果没有建议我使用另一种方法。
你可以这样做:
type ABC = A | B | C
function insert(params: Common & ABC): {
...
}
Run Code Online (Sandbox Code Playgroud)