Avatar ·

什么是 TypeScript 中的 Record<K, V> 以及如何使用它?

你好!我开始学习 TypeScript 并遇到了 `Record` 类型。老实说,我不完全理解它的用途,以及它与普通对象或接口的区别。 假设我有这样的代码: ```typescript interface User { id: number; name: string; } const users: { [key: number]: User } = { 1: { id: 1, name: '安娜' }, 2: { id: 2, name: '鲍里斯' } }; ``` 我看到可以写成 `{ [key: number]: User }`。但在文档中我遇到了 `Record`。这是一回事吗?还是有细微差别? 另外,我尝试创建一个对象,其中键是字符串,但只能是某些特定值,例如订单状态:'pending'、'shipped'、'delivered'。我希望键严格来自这个集合,而值是日期(字符串)。如何使用 Record 实现这一点?甚至可能吗? 我将感谢带有示例的清晰解释,因为网上有很多复杂的文章,而我需要一个简单且实用的新手解释。