Décrivez la forme de vos objets avec des types précis, puis rendez-les réutilisables grâce aux interfaces.
Ouvrir cette leçon dans KodokonEn JavaScript, un objet regroupe plusieurs informations liées sous forme de paires clé-valeur, comme une fiche : un livre a un titre et un nombre de pages. En TypeScript, vous pouvez décrire la forme exacte d'un objet : quelles propriétés il contient et de quel type est chacune.
const book: { title: string; pages: number } = {
title: "Le Petit Prince",
pages: 96,
};
console.log(book.title); // "Le Petit Prince"Écrire la forme à chaque fois devient vite répétitif. Une interface donne un nom à cette forme, pour la réutiliser partout. On la déclare avec le mot-clé interface, suivi d'un nom (par convention avec une majuscule), puis de la liste des propriétés et de leurs types.
interface Recipe {
name: string;
servings: number;
isVegetarian: boolean;
}
const pancakes: Recipe = {
name: "Pancakes",
servings: 4,
isVegetarian: true,
};Toutes les propriétés d'une interface sont obligatoires par défaut : oublier servings déclencherait une erreur. Pour rendre une propriété facultative, ajoutez un point d'interrogation ? juste après son nom. L'objet pourra alors être créé avec ou sans cette propriété.
interface Contact {
name: string;
phone: string;
email?: string; // facultative grâce au ?
}
const alice: Contact = {
name: "Alice",
phone: "0601020304",
}; // accepté : email peut être omis