技术好文:TS中的泛型

简介: 技术好文:TS中的泛型

"

// 1泛型的定义

// 泛型:在软件工程中,我们不仅要创建一致的定义良好的api,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,还能支持未来的数据类型

// 在C#和Java这种语言中,可使用泛型来创建可重用的组件,一个组件支持多种类型的数据

// 2泛型函数

// T表示泛型,具体什么类型调用这个方法的时候决定的

function getData(value:T):T{

return value

}

getData(123)

// 3泛型类

// 比如有个最小堆算法,需//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjgyNTIyMA==.html

要同时支持返回数字和字符串两种类型

// class Minclass{

// public

list:number【】=【】

// add(num){

//

this.list.push(num)

// }

//

min():number{

// var

minNum=this.list【0】

//

for(var i=0;i

//

if(minNum>this.list【i】){

//

minNum = this.list【i】

// }

// }

//

return minNum

// }

// }

// var m = new Minclass()

// m.add(2)

class Minclass{

public

list:T【】=【】

add(value:T):void{

this.list.push(value)

}

min():T{

var

minNum=this.list【0】

for(var

i=0;i

if(minNum>this.list【i】){

minNum = this.list【i】

}

}

return

minNum

}

}

var m = new Minclass()

m.add(2)

// 4泛型接口

// 函数类型接口

// //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDM2ODcwNA==.html

interface Configfn{

//

(value1:string,value2:string):string;

// }

// var

setData:Configfn=function(value1:string,value2:string):string{

// return

value1+value2

// }

// 泛型接口

interface Configfn{

(value:T):T;

}

var setData:Configfn=function(value:T):T{

return value

}


"
image.png
相关文章
ts重点学习1-泛型得基本使用
ts重点学习1-泛型得基本使用
69 0
ts重点学习1-泛型得基本使用
ts重点学习73-泛型的基本使用
ts重点学习73-泛型的基本使用
75 0
ts重点学习73-泛型的基本使用
ts重点学习5-泛型接口
ts重点学习5-泛型接口
65 0
ts重点学习5-泛型接口
ts重点学习77-泛型接口
ts重点学习77-泛型接口
60 0
ts重点学习77-泛型接口
ts重点学习78-泛型接口
ts重点学习78-泛型接口
79 0
ts重点学习78-泛型接口
|
JavaScript
记录下最近泛型(ts)的使用心得
软件设计中规范和灵活往往是相悖的,约束越多规范性越强反之灵活性越低。一款优秀的软件系统在这两者之间把握的一定很好。对于typescript而言,他给js上上了一道类型的加锁,如果说any是打开这把锁的钥匙那泛型同时也给了js类型一定的自主空间,就是我们常用的泛型。
ts重点学习80-泛型类笔记
ts重点学习80-泛型类笔记
60 0
ts重点学习6-泛型接口笔记
ts重点学习6-泛型接口笔记
54 0