在 TypeScript 中,泛型 `Record<string, any>` 表示一个键为字符串类型,值为任意类型的对象。
这个泛型类型通常用于表示一个动态的、未知属性的对象。
例如,下面的代码定义了一个类型为 `Record<string, any>` 的对象 `person`,它包含了一个字符串类型的 `name` 属性和一个任意类型的 `age`
属性: const person: Record<string, any> = { name: 'Alice', age: 30, }; 这个类型的好处是可以在编译时检查属性名的正确性,同时也可以在运行时动态添加属性。
例如,我们可以在运行时添加一个新的属性:person.address = { city: 'Beijing', country: 'China', }; 需要注意的是,使用 `Record<string, any>` 类型时,属性名必须是字符串类型,而属性值可以是任意类型。
如果需要限制属性值的类型,可以使用其他的泛型类型,例如 `Record<string, string>` 表示属性值必须是字符串类型。