Avatar ·

O que é Record<K, V> no TypeScript e como usá-lo?

Olá! Comecei a estudar TypeScript e me deparei com o tipo `Record`. Sinceramente, não entendo completamente para que ele serve e como difere de um objeto comum ou interface. Digamos que eu tenha 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' } }; ``` Vejo que posso escrever `{ [key: number]: User }`. Mas na documentação encontrei `Record`. É a mesma coisa? Ou há nuances? Também tentei criar um objeto onde as chaves são strings que só podem ser valores específicos, como status de pedido: 'pending', 'shipped', 'delivered'. Quero que as chaves sejam estritamente desse conjunto, e os valores sejam uma data (string). Como fazer isso com Record? E é possível? Agradeço por uma explicação clara com exemplos, porque na internet há muitos artigos complexos, e eu preciso de uma explicação simples e prática para iniciantes.