Comment extraire le type d'une propriété d'une interface TypeScript ?
Bonjour à tous ! Je suis novice en TypeScript et j'ai rencontré un problème que je n'arrive pas à résoudre depuis plusieurs heures. J'ai une interface décrivant un utilisateur :
```typescript
interface User {
id: number;
name: string;
email: string;
role: 'admin' | 'user' | 'guest';
createdAt: Date;
}
```
Maintenant, j'ai besoin de créer un type séparé qui correspond uniquement à la propriété `role` de cette interface. C'est-à-dire que je veux obtenir le type `'admin' | 'user' | 'guest'` sans avoir à le redéclarer manuellement.
J'ai essayé d'écrire quelque chose comme `type RoleType = User['role']`, mais je ne suis pas sûr que ce soit la syntaxe correcte et si c'est même possible en TypeScript. J'ai essayé de chercher sur Google, mais j'ai trouvé beaucoup d'exemples complexes avec des types conditionnels et des mapped types que je ne comprends pas encore.
Pouvez-vous me dire s'il existe un moyen simple et élégant d'"extraire" le type d'une propriété spécifique d'une interface ? Je serais reconnaissant pour des exemples de code et une explication pour débutants.
Tags : typescript, typing, interfaces, propriétés
No answers yet.
Connectez-vous pour laisser une réponse