Avatar ·

O que é Record no TypeScript e como usá-lo corretamente?

Olá a todos! Recentemente comecei a estudar TypeScript e me deparei com o tipo embutido `Record`. Li a documentação, mas não entendi completamente sua essência e quando aplicá-lo. Eu entendo que existem interfaces e tipos, mas `Record` parece ser diferente. Por exemplo, vi este código: ```typescript const users: Record = {}; ``` Mas não entendo como isso difere de um objeto simples `{ [key: string]: User }`. Ou de `Map`? Quando escolher qual? Meu problema específico: tenho uma lista de status de pedido (pending, approved, rejected), e para cada status preciso armazenar algum texto (por exemplo, cor para exibição). Escrevi assim: ```typescript const statusColors = { pending: 'yellow', approved: 'green', rejected: 'red' }; ``` Mas o TypeScript reclama quando tento acessar `statusColors['unknown']`. Como tipar corretamente esse map usando `Record`? E, no geral, para quais cenários `Record` é mais adequado? Ficarei grato pela ajuda.