TypeScript 第六讲 ———— TypeScript 泛型
Posted mqflive81
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TypeScript 第六讲 ———— TypeScript 泛型相关的知识,希望对你有一定的参考价值。
前言:
泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵话的功能。
在像c和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。这样 用户就可以以自己的数据类型来使用组件。
通俗理解,泛型就是解决类接口方法的复用性、以及对不特定数据类型的支持
下面这种就只能返回string类型的数据:
function getData(value:string):string
return value;
any放弃了类型检查,不管什么类型都可以
泛型
可以支持不特定的数据类型
要求:传入你的参数和返回的参数一致
T表示泛型,具体什么类型是调用这个方法的时候决定的
function getData<T>(value:T):T
return value;
getData<number>(123);
泛型类:
比如有个最小的算法,需要同时支持返回数字和字符串两种类型。通过类的泛型来实现
class MinClass<T>
public list:T[] = [];
add(num:T)
this.list.pust(num);
min():T
var minNum = this.list[0];
for(var i = 0;i<this.list.length;i++)
if(minNum>this.list[i])
minNum = this.list[i];
return minNum;
var m1 = new MinClas<number>();
var m2 = new MinClas<string>();
m1.add(1);
m1.add(3);
m2.add(a);
m2.add(f);
泛型接口
第一种
interface configFn
<T>(value1:T,value2:T):T;
var setData:configFn = function(value1:T,value2:string):T
return value1+value2;
setData<string>(‘name’,‘张三’);
第二种
interface configFn<T>
(value1:T,value2:T):T;
function getData<T>(value1:T,value2:string):T
return value1+value2;
var myGetData:configFn<string> = getData;
myGetData("20","23");
以上是关于TypeScript 第六讲 ———— TypeScript 泛型的主要内容,如果未能解决你的问题,请参考以下文章