typeScript-泛型

71 阅读1分钟

一、定义

定义函数或类时,遇到类型不确定时使用泛型

二、使用

可以指定多个泛型,泛型通过尖括号声明,声明后才可以使用泛型
可以指定泛型接收参数类型,也可以不指定泛型接收参数类型,不指定泛型接收类型时,会自动判断类型

function fn1<T,k>(a:T,b:K):T{
    console.log(b)
    return a
}

let result1=fn1(10,'艾比利') //方式1
let result2=fn1<number,string>(10,'艾比利')  //方式2

三、限制范围

我们可以通过interface接口定义结构,通过实现interface的方法或类,来达到限制的作用

interface inter{
length:number
}

function fn2<T extends inter>(a:T):number{
return a.length
}

let result3=fn2('123')

fn2方法泛型T继承interface接口,形参的类型为T,当我们进行函数的调用,保证形参具有 数字型的length属性,才能实现方法的调用,从而实现了限制范围