用于创建具有指定属性键和相应值类型的对象类型。Record
的作用主要在于提供了一种方便的方式来声明对象的结构,强调了键和值之间的关系。
K
表示对象的键的类型。T
表示对象的值的类型。
说白了就是指定对象的key,value的数据类型的,它并不能转换数据的类型,只是告诉编辑器,数据是什么类型的。
例1、
type Person = {
name: string;
age: number;
};
const people: Record<string, Person> = {
person1: { name: "Alice", age: 30 },
person2: { name: "Bob", age: 25 },
};
例2、
let person: Record<'name' | 'age', string> = {
name: '小王',
age: '12',
}
例3、
function createObject(keys: string[]): Record<string, number> {
const obj: Record<string, number> = {};
keys.forEach((key, index) => {
obj[key] = index;
});
return obj;
}
const dynamicObject = createObject(["a", "b", "c"]);
//{ a: 0, b: 1, c: 2 }