1.泛型与接口结合使用
interface List{
name:string,
id:number
}
const getList = <T extends List>(list: T): T => {
return list
}
getList({ name: 'hh', id:1})
只有name和id属性同时都存在才不会报错
实际中这种基本难遇得
2.入参不确定,泛型的处理
interface List{
name:string,
id:number
}
const getList = <T extends List>(list: Partial<T>): Partial<T> => {
return list
}
getList({ name: 'hh'})
部分入参
甚至更加抽象化
const getList = <T extends Record<string, any>>(list: T): T => {
}
Typescript泛型基础1
juejin.cn/editor/draf…
Typescript泛型基础3--返回值处理
juejin.cn/editor/draf…