使用 OR 条件在 TypeScript 中扩展多个接口

Extend multiple interface in TypeScript with OR condition

我有三个接口

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
    }

YES 你注意到了,不同的接口可能有不同的公共字段类型接口 Aid: numberBid: string

现在我有了一个通用的界面

interface Common {
   group: string
   class: string
}

现在我有一个接受参数对象的函数,它肯定会有 接口通用 字段,但可能有接口 A、B 和 C 之一的字段

我想使用 Common,它将扩展其中的任一接口 ABC

function insert(params: Common){
   ....
}

       

现在我想到了使用泛型,但是我没有做我想做的事, 那么有人可以告诉我如何将它与泛型一起使用并获得我想要的东西,如果它可以通过泛型完成的话,

如果不行,建议我使用另一种方法。

你可以这样做:


type ABC = A | B | C

function insert(params: Common & ABC): {
  ...
}