Generic Function

TypeScript 🟡 Mid

Définition

Fonction paramétrée par un ou plusieurs types qui sont résolus a l'appel. Permet d'écrire du code réutilisable tout en conservant la sécurité des types.

Analogie

Comme un moule a gâteau adaptable — même forme de base mais le résultat s'adapte a l'ingrédient (chocolat, vanille).

Exemple de code

function first<T>(arr: T[]): T | undefined {
  return arr[0];
}
const n = first([1, 2, 3]); // number
const s = first(["a", "b"]); // string

Cas d'usage

Créer des fonctions utilitaires (map, filter, fetch wrapper) qui préservent les types d'entrée/sortie.

Anti-pattern

Utiliser any au lieu de generics — on perd complètement la sécurité de type en sortie.
#core#interview#generics

En entretien

  1. Explique-moi ce qu'est une fonction générique.

    C'est une fonction paramétrée par un ou plusieurs types résolus à l'appel, ce qui permet d'écrire du code réutilisable en conservant la sécurité des types.

  2. Pourquoi éviter `any` à la place d'un générique ?

    any fait perdre complètement la sécurité de type en sortie, alors qu'un générique comme `first<T>` préserve le type d'entrée dans le type de retour.

  3. Dans quels cas utiliserais-tu ce pattern ?

    Pour des fonctions utilitaires comme map, filter ou un wrapper de fetch qui doivent préserver les types d'entrée/sortie.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre