Avatar ·

¿Qué es Record en TypeScript y cómo usarlo correctamente?

¡Hola a todos! Recientemente comencé a estudiar TypeScript y me topé con el tipo incorporado `Record`. Leí la documentación, pero no terminé de entender cuál es su esencia y cuándo aplicarlo. Entiendo que existen interfaces y tipos, pero `Record` se ve diferente. Por ejemplo, vi este código: ```typescript const users: Record = {}; ``` Pero no entiendo en qué se diferencia de un objeto simple `{ [key: string]: User }`. ¿O de `Map`? ¿Cuándo elegir qué? Mi problema concreto: tengo una lista de estados de pedido (pending, approved, rejected), y para cada estado necesito almacenar algún texto (por ejemplo, un color para mostrar). Escribí esto: ```typescript const statusColors = { pending: 'yellow', approved: 'green', rejected: 'red' }; ``` Pero TypeScript se queja cuando intento acceder a `statusColors['unknown']`. ¿Cómo tipificar correctamente este mapa con `Record`? Y en general, ¿para qué escenarios es más adecuado `Record`? Agradeceré cualquier