说明

尚硅谷TypeScript教程(李立超老师TS新课)学习笔记。

泛型

在定义函数或是类时,如果遇到类型不明确就可以使用泛型

比如定义了一个泛型T

function fn<T>(a:T):T {
return a;
}

可以直接调用具有泛型的函数

  1. 不指定泛型,TS 可以自动对类型进行推断
let res = fn(313);

【TypeScript教程】# 15:泛型_泛型

  1. 指定泛型
let res2 = fn<string>("kaimo313");

【TypeScript教程】# 15:泛型_子类_02

泛型可以同时指定多个:

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

let res3 = fn2<number, string>(313, "kaimo313");

【TypeScript教程】# 15:泛型_泛型_03

T extends Inter 表示泛型必须时Inter实现类(子类)

interface inter {
name: string
}

function fn3<T extends inter>(a: T):string {
return a.name;
}

fn3({name: "kaimo313"})

给类加泛型

class MyClass<T>{
name: T;
constructor(name: T) {
this.name = name;
}
}
const mc = new MyClass<string>("kaimo");