as const只读类型
对于数组和对象,可以使用 as const 来将其转换为只读类型
const a = ["jack", 123, { gender: "male" }];
const b = ["jack", 123, { gender: "male" }] as const;
加了as const之后,类型变为只读
泛型定义
一个方法传入一个字符串数组,返回一个对象,对象的key是数组的每一项,value是数组的每一项
如果想精确返回的对象展示的类型,需要加as { [key in K]: string } K是泛型
// 初始值使用 as { [key in K]: string } 来定义
const getArray = <K extends string>(keys: K[]) => {
return keys.reduce((pre, cur) => {
return { ...pre, [cur]: cur };
}, {} as { [key in K]: string });
};
const newArr = getArray(["name", "age"]);
加了as { [key in K]: string }之后