Extensión de tipos
Es posible extender una interface (copiar miembros de otro tipo):
interface X { a: string;}interface Y extends X { b: string;}También es posible extender varios tipos:
interface A { a: string;}interface B { b: string;}interface Y extends A, B { y: string;}La palabra clave extends solo funciona con interfaces y clases; para los tipos debe utilizarse una intersección:
type A = { a: number;};type B = { b: number;};type C = A & B;Es posible extender un tipo mediante una interfaz, pero no a la inversa:
type A = { a: string;};interface B extends A { b: string;}