Interfaces
Clase 12 de 22 • Curso de TypeScript: Tipos Avanzados y Funciones
Resumen
Las interfaces nos permiten crear moldes de objetos con sus respectivas propiedades y tipado. Para generar interfaces usamos la palabra reservada interface
.
interface Product {
id: number | string;
title: string;
price: number;
stock: number;
}
Si bien podemos hacerlo mismo con type
:
type Product = {
id: number | string;
title: string;
price: number;
stock: number;
}
Existen algunas diferencias que hacen a interface
una mejor opción para definir objetos.
Interfaces vs. Type
Veamos la diferencia entre usar interface
y type
:
- Utilizamos
type
para definir principalmente tipos primitivos o directos (declaraciones cortas y puntuales), mientras que con unainterface
definimos una estructura llave-valor de propiedades que describan lo que debe tener un objeto.
type Sizes = 'S' | 'M' | 'L' | 'XL';
interface Product {
id: number | string;
title: string;
price: number;
stock: number;
size?: Sizes;
}
- Los
interface
se pueden fácilmente extender (realizar herencia), mientras que con lostype
no. Esto los hace más escalables.
Contribución creada por: Martín Álvarez (Platzi Contributor) con los aportes de Luis Ariza.