El uso de type
e interface
es muy similar, y en la mayor铆a de los casos es posible elegir cualquiera de ellos de forma indistinta. Casi todas las caracter铆sticas de interface
est谩n disponibles en type
, la clave para distinguir entre cuando usar una y otra es que una ves que se define un type
no se le pueden agregar mas propiedades, mientras que interface
es siempre extendible.
Supongamos que tenemos una interface y un type.
interface Transporte {
nombre: string;
}
type Figura = {
nombre: string;
};
驴C贸mo extender una interface?
interface Auto extends Transporte {
ruedas: number;
}
驴C贸mo extender un type?
type Cuadrado = Figura & {
lados: 4;
};
驴C贸mo agregar mas propiedades a una interface previamente definida?
interface Transporte {
peso: number;
}
驴C贸mo agregar propiedades a un type previamente definido?
Cuando se utiliza
type
no es posible agregar mas propiedades. Esta es una de las diferencias que existen entre interface vs type.