logo oujood
🔍

🧱 Objets et Types personnalisés en TypeScript

Dans ce chapitre, tu vas apprendre à utiliser des objets en TypeScript, et surtout à les typer correctement. Tu découvriras également comment créer tes propres types personnalisés à l’aide de type ou interface.

OUJOOD.COM

🔍 Qu’est-ce qu’un objet en TypeScript ?

Un objet est une structure de données contenant des paires clé-valeur. TypeScript te permet d’indiquer précisément la structure que doit respecter un objet.

📌 Exemple simple d’objet typé :

📋 Copier le code

let utilisateur: {
  nom: string;
  age: number;
  actif: boolean;
} = {
  nom: "Alice",
  age: 30,
  actif: true
};
  • On indique ici que utilisateur doit avoir trois propriétés : nom, age, actif.
  • TypeScript s’assure que l’objet respecte bien ce schéma.

🛠️ Créer un type personnalisé avec type

Plutôt que répéter la structure à chaque fois, on peut la stocker dans un alias de type.

📋 Copier le code

type Utilisateur = {
  nom: string;
  age: number;
  actif: boolean;
};

let admin: Utilisateur = {
  nom: "Bob",
  age: 42,
  actif: false
};
  • type Utilisateur crée un alias réutilisable.
  • admin est maintenant déclaré en tant que Utilisateur.
  • C’est plus clair et plus facile à maintenir dans des projets réels.

🧩 Utiliser interface (alternative à type)

Une interface fonctionne comme un contrat que les objets doivent respecter. Elle est très utilisée en TypeScript, notamment avec les classes.

📋 Copier le code

interface Produit {
  nom: string;
  prix: number;
  enStock: boolean;
}

let article: Produit = {
  nom: "Clavier",
  prix: 49.99,
  enStock: true
};
  • interface Produit définit la forme que doit avoir tout objet de type Produit.
  • L’objet article respecte cette structure.
  • Les interfaces sont extensibles et très puissantes, surtout avec les classes.

🧠 Optionnalité des propriétés

Il est possible de rendre une propriété optionnelle avec le point d’interrogation ?.

📋 Copier le code

interface Client {
  nom: string;
  email?: string; // facultatif
}

let client1: Client = { nom: "Sophie" };
let client2: Client = { nom: "Marc", email: "marc@mail.com" };
  • email? signifie que cette propriété peut être absente.
  • Les deux objets sont valides : un avec email, l’autre sans.

🔒 Sécurité du typage

TypeScript empêche d’ajouter ou de supprimer des propriétés non prévues. Exemple :

📋 Copier le code

// ❌ Erreur : propriété inconnue "telephone"
let fauxClient: Client = {
  nom: "Claire",
  telephone: "0123456789"
};

📌 Résumé

  • Les objets doivent être typés pour garantir leur structure.
  • type permet de créer des alias simples et réutilisables.
  • interface est idéale pour créer des contrats typés (surtout avec les classes).
  • On peut marquer une propriété comme optionnelle avec ?.

🧭 Prochaine étape

Dans le chapitre suivant, nous allons nous plonger dans les fonctions typées : comment définir les types des paramètres et des valeurs de retour.

Souhaites-tu passer au Chapitre 7 : Fonctions et typage en TypeScript ?