函数、类及接口中如何使用泛型
function getData<T>(value:T):T {
return value;
}
console.log(getData<number>(23));
console.log(getData<string>("jake"));
function getData2<T>(value:T):any {
return value+"__0000";
}
class FAnimal<T>{
val:T;
constructor(v:T){
this.val=v;
}
hello(){
console.log(`Hello ${this.val}`);
}
}
let ff=new FAnimal<string>("jake");
ff.hello();
let ff1=new FAnimal<number>(234);
ff1.hello();
interface MyFunc<T> {
run(t:T):T;
}
class FF implements MyFunc<string>{
run(t:string):string{
return t+">>>";
}
}
let f=new FF();
console.log(f.run("haha"));