TypeScript Academy · Leçon

Alias de types et interfaces

Comparez et utilisez les alias de types et les interfaces

Leçon 2 sur 410 étapes

Alias de types et interfaces est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.

Alias de types ou interfaces

Alias de types et interfaces

Bienvenue dans la prochaine leçon ! Vous allez découvrir les alias de types et les interfaces dans TypeScript, notamment leurs différences, leurs similitudes et les situations dans lesquelles utiliser chacun. Commençons !

Alias de types et interfaces — illustration 1

Que sont les alias de types ?

Un alias de type vous permet de définir un nom personnalisé pour un type. Il peut représenter des types primitifs, des objets ou même des signatures de fonctions.

Exemple :

Tâche : Créez un alias de type pour un objet représentant un livre et utilisez-le pour définir une variable.

type Point = {
  x: number;
  y: number;
};

let point: Point = { x: 10, y: 20 };
console.log(point); 
// Output: { x: 10, y: 20 }

Que sont les interfaces ?

Une interface définit la structure d’un objet, notamment ses propriétés et ses méthodes. Elle est souvent utilisée pour garantir la cohérence et la sécurité du typage des objets.

Exemple :

Tâche : Créez une interface pour le profil d’un utilisateur et utilisez-la pour définir une variable.

interface Point {
  x: number;
  y: number;
}

let point: Point = { x: 5, y: 15 };
console.log(point); 
// Output: { x: 5, y: 15 }

Alias de types ou interfaces : similitudes

Les alias de types et les interfaces partagent certaines fonctionnalités :

  • Ils peuvent tous deux décrire la forme d’un objet.
  • Ils peuvent tous deux être utilisés pour définir des types de fonctions.
  • Ils prennent tous deux en charge l’extension d’autres types.

Exemple : un type de fonction :

Tâche : Définissez à la fois un alias de type et une interface pour une fonction, puis utilisez-les.

type Add = (a: number, b: number) => number;
interface Subtract {
  (a: number, b: number): number;
}

let add: Add = (x, y) => x + y;
let subtract: Subtract = (x, y) => x - y;

console.log(add(5, 3)); 
// Output: 8
console.log(subtract(5, 3)); 
// Output: 2

Alias de types ou interfaces : différences

Voici les principales différences :

  • Interfaces : elles peuvent être fusionnées (fusion de déclarations).
  • Alias de types : ils ne peuvent pas être fusionnés.
  • Alias de types : ils peuvent définir des types union et intersection.
  • Interfaces : elles sont principalement conçues pour décrire la forme des objets.

Exemple : des types union avec des alias de types :

Tâche : Utilisez un alias de type pour définir un type union et affectez différentes valeurs à une variable.

type StringOrNumber = string | number;

let value: StringOrNumber = "Hello";
value = 42;
// value = true; 
// Error: Type 'true' is not assignable to type 'StringOrNumber'.

Étendre des types et des interfaces

Les alias de types et les interfaces peuvent tous deux étendre d’autres types :

  • Interfaces : utilisez le mot-clé extends.
  • Alias de types : utilisez des intersections (&).

Exemple :

Tâche : Étendez un alias de type et une interface pour créer de nouveaux types.

interface Animal {
  name: string;
}

interface Dog extends Animal {
  breed: string;
}

type Bird = Animal & { canFly: boolean };

let myDog: Dog = { name: "Buddy", breed: "Golden Retriever" };
let myBird: Bird = { name: "Parrot", canFly: true };

console.log(myDog, myBird);

Fusion de déclarations

Les interfaces prennent en charge la fusion de déclarations : plusieurs déclarations d’interface portant le même nom sont fusionnées en une seule. Les alias de types ne prennent pas en charge cette fonctionnalité.

Exemple :

Tâche : Créez deux déclarations d’interface portant le même nom et testez la fusion de déclarations.

interface Person {
  name: string;
}

interface Person {
  age: number;
}

let person: Person = { name: "Alice", age: 30 };
console.log(person); 
// Output: { name: "Alice", age: 30 }

Quand utiliser chaque option

Voici quelques recommandations :

  • Utilisez les interfaces pour définir la forme des objets et lorsque la fusion de déclarations est nécessaire.
  • Utilisez les alias de types pour les unions, les intersections ou lorsque vous définissez des types de fonctions.

Conseil : Utilisez l’option qui correspond le mieux à votre cas d’utilisation afin de garantir la clarté et la cohérence !

Excellent travail !

Félicitations ! Vous avez appris les similitudes et les différences entre les alias de types et les interfaces dans TypeScript, ainsi que les situations dans lesquelles utiliser chacun. Dans la prochaine leçon, vous découvrirez des fonctionnalités avancées de TypeScript, comme les types conditionnels. Continuons à coder !

Alias de types et interfaces — illustration 10
Gratuit pour commencer

Apprends TypeScript avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
101
Leçons
352

Questions Fréquemment Posées

La leçon « Alias de types et interfaces » est-elle gratuite ?

Oui — le texte complet de « Alias de types et interfaces » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Alias de types et interfaces » ?

Comparez et utilisez les alias de types et les interfaces Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Alias de types et interfaces » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types génériques
  2. Alias de types et interfaces
  3. Types utilitaires
  4. Gardes de types
← Retour à TypeScript Academy