如何解决使用OR条件扩展TypeScript中的多个接口
我有三个界面
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
}
是的,您注意到正确的不同接口的公共字段可能具有不同的类型
例如界面A 具有id: number
,但 B 具有id: string
现在我有一个通用的界面
interface Common {
group: string
class: string
}
现在我有一个接受参数Object的函数,该对象肯定具有 interface Common 字段,但可能具有接口A,B和C之一的字段
我想使用Common
,它将扩展其中的任何一个接口A
,B
和C
function insert(params: Common){
....
}
现在,我想到了使用泛型,但是我做不到想要的事情, 有人可以告诉我如何将其与泛型一起使用,如果可以通过泛型完成的话,我会得到我想要的东西,
如果没有建议我这样做的另一种方法。
解决方法
您可以这样做:
type ABC = A | B | C
function insert(params: Common & ABC): {
...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。