Avatar ·

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