在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件。
先看看下面的例子: //只能返回string类型的数据 function getData(value:string):string{ return value; } //同时返回 string类型 和number类型 (代码冗余) function getData1(value:string):string{ return value; } function getData2(value:number):number{ return value; } 使用泛型后就可以解决这个问题 // T表示泛型,具体什么类型是调用这个方法的时候决定的 function getData<T>(value:T):T{ return value; } getData<number>(123); getData<string>('1214231'); 泛型类: //普通的类 泛型接口: interface ConfigFn{ <T>(value:T):T; } var getData:ConfigFn=function<T>(value:T):T{ return value; } getData<string>('张三'); getData<string>(1243); //错误 还有一种写法: interface ConfigFn<T>{ (value:T):T; } function getData<T>(value:T):T{ return value; } var myGetData:ConfigFn<string>=getData; myGetData('20'); /*正确*/ // myGetData(20) //错误
|
请发表评论