Interface vs Type
TypeScript 🟢 JuniorType : Concept
Definition
Interface et type alias definissent tous deux des formes d'objets, mais interface supporte la declaration merging et l'extension, tandis que type supporte les unions, intersections et types primitifs.
Analogie
Interface : un contrat extensible avec des avenants possibles. Type : une definition figee mais plus flexible dans ce qu'elle peut decrire.
Exemple de code
interface Animal { name: string; }
interface Animal { age: number; } class="cmt">// merge OK
type ID = string | number; class="cmt">// union impossible avec interface
type Point = { x: number } & { y: number }; class="cmt">// intersectionCas d'usage
Utiliser interface pour les contrats d'API publiques (extensibles), type pour les unions et types complexes.