0Pricing
TypeScript Academy · Leçon

Interfaces et alias de types génériques

Appliquez les génériques aux interfaces et aux types personnalisés

Interfaces et alias de types génériques 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.

Bienvenue

Les génériques ne se limitent pas aux fonctions. Les interfaces et les alias de type acceptent également des paramètres de type, ce qui les rend réutilisables avec de nombreux types.

Syntaxe des interfaces génériques

Ajoutez `` après le nom de l’interface pour la rendre générique. Utilisez T dans les types de propriétés et les signatures de méthodes.
interface Box<T> {
  value: T;
  unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };

Alias de type générique

Les alias de type utilisent la même syntaxe ``.
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };

Interface générique de dépôt

Un cas d’utilisation classique : une interface générique de dépôt qui fonctionne avec n’importe quel type d’entité.
interface Repository<T> {
  findById(id: number): T | null;
  findAll(): T[];
  save(item: T): void;
  delete(id: number): void;
}

Implémenter une interface générique

Fournissez l’argument de type lors de l’implémentation d’une interface générique.
class UserRepo implements Repository<User> {
  findById(id: number): User | null { return null; }
  findAll(): User[] { return []; }
  save(user: User): void {}
  delete(id: number): void {}
}

Étendre des interfaces génériques

Les interfaces génériques peuvent étendre d’autres interfaces génériques.
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }

Type de réponse générique

Un type de réponse d’API générique qui encapsule n’importe quelle charge utile de données.
type ApiResponse<T> = {
  status: 'success' | 'error';
  data: T;
  timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };

Plusieurs paramètres de type dans les interfaces

Les interfaces prennent en charge plusieurs paramètres de type.
interface KeyValue<K, V> {
  key: K;
  value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };

Méthode générique dans une interface non générique

Une interface peut posséder des méthodes génériques sans que l’interface entière soit générique.
interface Transformer {
  transform<T, U>(input: T, fn: (val: T) => U): U;
}

Types génériques récursifs

Les types génériques peuvent se référencer eux-mêmes pour représenter des arbres ou des listes chaînées.
interface TreeNode<T> {
  value: T;
  children: TreeNode<T>[];
}

Alias de type ou interface pour les génériques

Les deux prennent tout aussi bien en charge les génériques. Préférez une interface pour les contrats implémentés par des classes. Préférez un type pour les génériques impliquant des unions, comme Maybe.

Vérification rapide

Que fournissez-vous lors de l’implémentation de `interface Repository` ?

Récapitulatif

Les interfaces génériques et les alias de type utilisent pour fonctionner avec n’importe quel type. Ils permettent de créer des contrats réutilisables pour les dépôts, les enveloppes de réponses et les structures de données récursives. Implémentez-les en fournissant l’argument de type concret.

Questions Fréquemment Posées

La leçon « Interfaces et alias de types génériques » est-elle gratuite ?

Oui — le texte complet de « Interfaces et alias de types génériques » 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 « Interfaces et alias de types génériques » ?

Appliquez les génériques aux interfaces et aux types personnalisés 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 « Interfaces et alias de types génériques » ?

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. Fonctions génériques : paramètres de types
  2. Interfaces et alias de types génériques
  3. Contraintes génériques avec extends
  4. Paramètres de types par défaut
← Retour à TypeScript Academy