Typescript泛型基础1

57 阅读1分钟

在项目中有没有遇到过这种情况

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…