Можно ли распространить интерфейс TypeScript на другой интерфейс?
В JavaScript объект можно распространить на другой объект, используя синтаксис распространения:
const a = {one: 1, two: 2}
const b = {...a, three: 3} // = {one: 1, two: 2, three: 3}
Есть ли способ распространить интерфейс машинописного текста в другой интерфейс таким образом?
interface IA {
one: number;
two: number;
}
interface IB {
...IA; // Does not work like this
three: number;
}
Так что полученный интерфейс IB
будет выглядеть так:
{
one: number;
two: number;
three: number;
}
1 ответ
Решение
Вы можете просто использовать наследование, чтобы сделать это:
interface IA {
one: number;
two: number;
}
interface IC {
other: number;
four: number;
}
interface IB extends IA, IC {
three: number;
}