在项目中有没有遇到过这种情况
function getId(id:number):number{
}
function getName(name:string):string{
}
我们可以用any替换number和string, 但是这样就无法约束请求入参与返回值的类型
1.想要约束我们可以在函数中使用泛型
function getId<T>(id:T):T{
}
<>尖括号指明类型 入参和返回值是一样的类型
2.如果想要想获取属性值, 可以在泛型中用接口指明或者使入参 返回数组
function getIds<T>(ids: T[]): T{
if(ids.length>1){
return ids
}
}
或者
interface Types{
length: number
}
function getIds<T extends Types>(ids: T): T{
if(ids.length>1){
}
}
Typescript泛型基础2--与Partial 、Record结合
juejin.cn/editor/draf…
Typescript泛型基础3--返回值处理
juejin.cn/editor/draf…
链接:
blog.csdn.net/weixin_4476…
mp.weixin.qq.com/s?__biz=MjM…
www.jianshu.com/p/edd11857f…