说明
尚硅谷TypeScript教程(李立超老师TS新课)学习笔记。
泛型
在定义函数或是类时,如果遇到类型不明确就可以使用泛型
比如定义了一个泛型T
function fn<T>(a:T):T {
return a;
}
可以直接调用具有泛型的函数
- 不指定泛型,TS 可以自动对类型进行推断
let res = fn(313);
- 指定泛型
let res2 = fn<string>("kaimo313");
泛型可以同时指定多个:
function fn2<T, K>(a:T, b:K):T {
console.log(b);
return a;
}
let res3 = fn2<number, string>(313, "kaimo313");
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");