TypeScript

71 阅读1分钟

泛型

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

  2. 泛型可以指定实现某个接口

interface Inter{
    length: number
}

function f4<T extends Inter>(a: T): T {
    return a
}
  1. 可以指定多个泛型
function f5<T, K>(a: T, b: K): T {
    return a
}