什么是 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 实现这一点?甚至可能吗?
我将感谢带有示例的清晰解释,因为网上有很多复杂的文章,而我需要一个简单且实用的新手解释。