Describe la forma de tus objetos con tipos precisos y luego hazlos reutilizables con interfaces.
Abrir esta lección en KodokonEn JavaScript, un objeto agrupa varias informaciones relacionadas como pares clave-valor, como una ficha: un libro tiene un título y un número de páginas. En TypeScript, puedes describir la forma exacta de un objeto: qué propiedades contiene y de qué tipo es cada una.
const book: { title: string; pages: number } = {
title: "The Little Prince",
pages: 96,
};
console.log(book.title); // "The Little Prince"Escribir la forma cada vez se vuelve rápidamente repetitivo. Una interfaz le da un nombre a esa forma, para que puedas reutilizarla en todas partes. La declaras con la palabra clave interface, seguida de un nombre (en mayúscula por convención) y luego la lista de propiedades y sus tipos.
interface Recipe {
name: string;
servings: number;
isVegetarian: boolean;
}
const pancakes: Recipe = {
name: "Pancakes",
servings: 4,
isVegetarian: true,
};Todas las propiedades de una interfaz son obligatorias por defecto: olvidar servings provocaría un error. Para hacer que una propiedad sea opcional, añade un signo de interrogación ? justo después de su nombre. El objeto puede entonces crearse con o sin esa propiedad.
interface Contact {
name: string;
phone: string;
email?: string; // optional thanks to the ?
}
const alice: Contact = {
name: "Alice",
phone: "0601020304",
}; // allowed: email can be omitted