objekt - Kan ett TypeScript-gränssnitt spridas till ett annat gränssnitt?
I JavaScript kan ett objekt spridas till ett annat objekt med hjälp av spridningssyntaxen:
const a = {one: 1, two: 2}
const b = {...a, three: 3} // = {one: 1, two: 2, three: 3}
Finns det ett sätt att sprida ett TypeScript-gränssnitt till ett annat gränssnitt på ett sådant sätt?
interface IA {
one: number;
two: number;
}
interface IB {
...IA; // Does not work like this
three: number;
}
Så att det resulterande gränssnittet IB skulle se ut så här:
{
one: number;
two: number;
three: number;
}
Svar #1
Du kan helt enkelt använda arv för att göra det :
interface IA {
one: number;
two: number;
}
interface IC {
other: number;
four: number;
}
interface IB extends IA, IC {
three: number;
}
