泛型
- 如果使用any的话,像比如下面这种情况的话,入参和返回值是有可能不是同一种类型的
function f1(a: any): any {
return a + ''
}
- 定义一个泛型的话,就可以指定让入参和出参的类型一样
function f2<T>(a: T): T {
return a
}
-
定义一个泛型,就是在函数名称后面紧跟一个尖括号,在这里指定或者说定义了的话,在后面的代码(即使是同一行,只需要在定义的文字的后面)就可以使用了
-
泛型可以指定实现某个接口
interface Inter{
length: number
}
function f4<T extends Inter>(a: T): T {
return a
}
- 可以指定多个泛型
function f5<T, K>(a: T, b: K): T {
return a
}