Peut-on étendre (hériter) les types en TypeScript ?
Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème. J'ai une interface pour les données de base d'un utilisateur :
```typescript
interface User {
id: number;
name: string;
email: string;
}
```
Maintenant, j'ai besoin de créer un type pour un administrateur, qui a tous les champs d'un utilisateur normal, mais aussi un rôle (role) et un niveau d'accès (permissions). Je sais que les interfaces peuvent être étendues avec `extends`, mais est-ce que cela fonctionne pour les types déclarés avec `type` ?
J'ai essayé de faire ceci :
```typescript
type User = {
id: number;
name: string;
email: string;
}
type Admin = User & {
role: string;
permissions: string[];
}
```
Cela a fonctionné, mais on m'a dit que ce n'est pas vraiment une « extension », mais une intersection de types. Quelle est la différence ? Et existe-t-il un moyen de faire une héritage classique pour les types, comme avec les interfaces ? Merci d'avance pour votre aide !
<<>>
Principales façons d'étendre les types en TypeScript
Oui, les types en TypeScript peuvent être étend