Avatar ·

Peut-on étendre (extends) les types en TypeScript comme les interfaces ?

Bonjour à tous ! Je viens de commencer à apprendre TypeScript et je suis confronté à une incompréhension. Je sais que les interfaces peuvent être étendues avec `extends`. Par exemple : ```typescript interface User { name: string; } interface AdminUser extends User { role: string; } ``` Cela fonctionne parfaitement. Mais quand j'essaie de faire la même chose avec les types (type alias), je n'y arrive pas : ```typescript type User = { name: string; }; type AdminUser extends User { // ❌ Erreur : 'extends' ne fonctionne pas avec les types role: string; } ``` J'ai essayé différentes options, mais TypeScript râle. Sur Internet, on dit que les types peuvent être étendus avec des intersections (&), mais je ne comprends pas bien comment faire correctement et quelle est la différence entre les interfaces et les types dans le contexte de l'extension. Dites-moi, s'il vous plaît, comment étendre correctement les types ? Est-ce possible en général ? Et si oui, quand est-il préférable d'utiliser `extends` pour les interfaces et quand utiliser les intersections pour les types ? Merci d'avance pour votre aide !