说明
尚硅谷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");