¿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.