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
}
