Avatar ·

¿Qué es Record<K, V> en TypeScript y cómo usarlo?

¡Hola! Empecé a estudiar TypeScript y me topé con el tipo `Record`. Honestamente, no entiendo del todo para qué sirve y en qué se diferencia de un objeto normal o una interface. Supongamos que tengo este código: ```typescript interface User { id: number; name: string; } const users: { [key: number]: User } = { 1: { id: 1, name: 'Ana' }, 2: { id: 2, name: 'Boris' } }; ``` Veo que se puede escribir `{ [key: number]: User }`. Pero en la documentación encontré `Record`. ¿Es lo mismo? ¿O hay matices? También intenté crear un objeto donde las claves son strings que solo pueden ser ciertos valores, por ejemplo, estados de pedido: 'pending', 'shipped', 'delivered'. Quiero que las claves sean estrictamente de este conjunto, y los valores sean una fecha (string). ¿Cómo se hace con Record? ¿Y es posible? Agradecería una explicación clara con ejemplos, porque en internet hay muchos artículos complejos, y necesito una explicación simple y práctica para principiantes.