Website-Suche

Wie man eine TypeScript-Eigenschaft deklariert, die mehrere Schnittstellen implementiert


Sagen wir, ich habe 2 Schnittstellen:

interface Interface1{}
interface Interface2{}

Gibt es eine Möglichkeit, eine Eigenschaft als Implementierung beider Schnittstellen zu deklarieren? So etwas wie:

class MyClass{
  public p: Interface1, Interface2
}

Antwort #1

Gibt es eine Möglichkeit, eine Eigenschaft als Implementierung beider Schnittstellen zu deklarieren? So etwas wie:

Ja. Ein Intersection-Type:

interface Interface1{}
interface Interface2{}
class MyClass{
  public p: Interface1 & Interface2
}

Mehr

  • TypeScript Schnittmengentypen: https://basarat.gitbook.io/typescript/type-system#intersection-type

Antwort #2

interface Interface1 { }
interface Interface2 { }
interface ICombination extends Interface1, Interface2 { };
class MyClass {
    public p: ICombination
}

Verwandte Artikel