TypeScript基础入门 - 泛型 - 泛型类

转载

TypeScript基础入门 - 泛型 - 泛型类

项目实践仓库

https://github.com/durban89/typescript_demo.git
tag: 1.3.3

为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接运行看到输出的结果。

npm install -D ts-node

后面自己在练习的时候可以这样使用

npx ts-node 脚本路径

泛型

泛型类

泛型类看上去与泛型接口差不多。 泛型类使用(<>)括起泛型类型,跟在类名后面。

class GenerateT<T> {
    zeroValue: T;
    add: (x: T, y: T) => T;
}

let generateT1 = new GenerateT<number>();
generateT1.zeroValue = 1
generateT1.add = (x, y) => { return x + y; }

GenerateNumber类的使用是十分直观的,并且你可能已经注意到了,没有什么去限制它只能使用number类型。 也可以使用字符串或其它更复杂的类型。

class GenerateT<T> {
    zeroValue: T;
    add: (x: T, y: T) => T;
}

let generateT2 = new GenerateT<string>();
generateT2.zeroValue = "";
generateT2.add = (x, y) => { return x + y; }

console.log(generateT2.add(generateT2.zeroValue, "test"));

与接口一样,直接把泛型类型放在类后面,可以帮助我们确认类的所有属性都在使用相同的类型。

我们在类那节说过,类有两部分:静态部分和实例部分。 泛型类指的是实例部分的类型,所以类的静态属性不能使用这个泛型类型。

本实例结束实践项目地址

https://github.com/durban89/typescript_demo.git
tag: 1.3.4
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,023评论 6 13
  • 原来我不碰这个号已经快一年半了,上次个人更新还是2016年9月,回想当时的初衷,没有所谓的运营和营销概念,唯一的出...
    馒头乱语阅读 3,395评论 4 4
  • 初恋两年多,是在高中,回忆很美好。性格的偏执所以丢掉了他。不久前又重新联系上了,也算是很幸运。 从高中时的阳光一直...
    竹一沙多阅读 1,391评论 0 0
  • 真的 空了 对工作没兴趣了 对朋友没兴趣了 对家人没兴趣了 对自己为没有了兴趣 如果每个人都有一个谷底 我想 我会...
    村里灯花阅读 1,657评论 0 2

友情链接更多精彩内容