一、泛型函数
第1种
interface Config1{
<T>(value:T):T;
}
let getData1:Config1=function<T>(data:T):T{
return data;
}
getData1<string>("小猪猪");
第2种
interface Config2<T>{
(value:T):T;
}
function getData2<T>(value:T):T{
return value;
}
let myData:Config2<string>=getData2;
myData("20");
第3种(相对简洁+好理解好记忆)
interface Config3<T>{
(value:T):T;
}
let getData3:Config3<string>=function(data:string):string{
return data;
}
二、泛型类
class User{
useName:string;
password:number;
constructor(userData:{useName:string, password:number}){
this.useName=userData.useName;
this.password=userData.password;
}
}
let user=new User( { useName:"小猪猪", password:12233 } );
class MongoDB<T>{
add(info:T):boolean{
console.log(info);
return true;
}
}
let dataBase = new MongoDB<User>();
dataBase.add(user);
转载请注明原文地址:https://ipadbbs.8miu.com/read-21938.html