function getData1(value:string):string{ return value } function getData2(value:number):number{ return value }
function getData3(value:any):any{ return ‘哈哈哈‘ } alert(getData3(‘str‘)) alert(getData3(111))
function getData<T>(value:T):T{ return value; } getData<number>(123456); getData<number>(‘123456‘);//错误写法 getData<string>(‘12365478899‘); getData<boolean>(true); function getData<T>(value:T):any{//返回任意类型 return ‘852‘; }
----------------------------------------------------------------泛型类----------------------------------------------------
class MinClass{ public list:number[]=[]; add(num:number){ this.list.push(num); } min():number{ var minNum=this.list[0]; for (let i = 0; i < this.list.length; i++) { const element = this.list[i]; if(minNum>element){ minNum = element; } } return minNum; } } var m = new MinClass(); m.add(3); m.add(300); m.add(50); m.add(1); m.add(111); alert(m.min());//1
class MinClass<T>{ public list:T[]=[]; add(num:T):void{ this.list.push(num); } min():T{ var minNum=this.list[0]; for (let i = 0; i < this.list.length; i++) { const element = this.list[i]; if(minNum>element){ minNum = element; } } return minNum; } } var m = new MinClass<number>();/*实例化类 并且定制了类的T代表的类型时number*/ m.add(3); m.add(300); m.add(50); m.add(1); m.add(111); alert(m.min());//1 var m1 = new MinClass<string>();/*实例化类 并且定制了类的T代表的类型时string*/ m1.add(‘a‘); m1.add(‘z‘); m1.add(‘b‘); m1.add(‘t‘); m1.add(‘g‘); alert(m1.min());//‘a‘
原文:https://www.cnblogs.com/wenshaochang123/p/13511814.html