Cómo extraer el tipo de una propiedad de una interfaz de TypeScript
¡Hola a todos! Soy nuevo en TypeScript y me encontré con un problema que no puedo resolver desde hace varias horas. Tengo una interfaz que describe un usuario:
```typescript
interface User {
id: number;
name: string;
email: string;
role: 'admin' | 'user' | 'guest';
createdAt: Date;
}
```
Ahora necesito crear un tipo separado que corresponda solo a la propiedad `role` de esta interfaz. Es decir, quiero obtener el tipo `'admin' | 'user' | 'guest'` sin tener que declararlo manualmente de nuevo.
Intenté escribir algo como `type RoleType = User['role']`, pero no estoy seguro de que sea la sintaxis correcta y si es posible en TypeScript. Busqué en Google, pero encontré muchos ejemplos complejos con tipos condicionales y mapped types que aún no entiendo.
¿Podrían indicarme si hay una forma simple y elegante de "extraer" el tipo de una propiedad específica de una interfaz? Agradecería ejemplos de código y una explicación para principiantes.
Tags: typescript, typing, interfaces, propiedades
No answers yet.
Inicia sesión para dejar una respuesta