export{}// 泛型如何去理解 通俗一点// 泛型其实就是类型的形参,你传什么进去,他就是什么// T就是一个标识符,其他的标识也可以,但是默认情况下我们写Tfunctionfn<T>(n:T):T{return n
}fn<number>(100)fn<boolean>(false)// 上面这段代码也可以这样写functionfn1(n:number):number{return n
}fn1(100)functionfn2(n:boolean):boolean{return n
}fn2(true)// 也可以传递多个functionfn3<T,G>(n:T,m:G):T{return n
}fn3<number,boolean>(100,true)
2.类型别名泛型的使用
// type ObjType = {name:string,getName:()=>number}// let obj:ObjType = {// name:'何志伟',// getName(){// return 2// }// }// 用泛型写可以这样来写// 还可以再声明一个类型别名来替换他们// 可以给泛型设置默认值typeObjType<N,G>={name:N,getName:()=>G}let obj:ObjType<string,number>={
name:'何志伟',getName(){return2}}