QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

最新的 TypeScript 增加了泛型支持

2013 年 6 月 25 日

微软发布了 TypeScript 0.9 ,该版本添加了一些新的特性,包括在前端使用泛型的能力。TypeScript微软为了让 JavaScript 更适合于大型应用程序开发所做的尝试,它结合了类型检查和静态代码分析。

新特性的亮点包括:

  • 泛型支持将这个流行的特性带到了 TypeScript 中,使其可以应用更好的类型检查和现代编程模式
  • 常量重载
  • 支持通过“export = ”来直接导入类
  • 枚举
  • 为语言的未来成长进行了重新设计。为更好地支持增量编译进行了改进,为支持更大型的代码库(超过 10 万行)进行了扩充,并修复了 CodePlex 上的 160 多个错误报告

Channel 9 上最近发布了一场有趣的圆桌会议,会议成员包括 TypeScript 小组的 Anders Heljsberg、Steve Lucco 和 Luke Hoban。这场讨论从另外一个角度来审视 0.9 的新特性。Hoban 发现 TypeScript 支持泛型后,即使程序员不直接使用泛型也能从中受益。这是因为它可以改善智能感知的性能并辅助错误检查。

在讨论时,Hejlsberg 举了下面这个例子来演示 0.8 到 0.9 的改变:

复制代码
var a = [ “hello”, “world”, “….” ]
var n = a.map( s => s.length)
(where n is an array of numbers)
TypeScript 0.8: s. <- IntelliSense would show nothing
TypeScript 0.9: s. <- IntelliSense can show completions,
including length

Hejlsberg 还指出 TypeScript 的泛型实现类似于 Java,而不是 C#。这部分原因是由于 TypeScript 的目标是产生可读的代码。因此像 async 这样的特性目前还没有开发,因为 JavaScript 当前的局限性意味着支持这些会产生过于复杂的代码。(他们举了 IcedCoffeeScript 这个例子,这就是小组在 TypeScript 的代码生成方法中所试图避免的结果。)如果 JavaScript 支持迭代器和生成器,那么 TypeScript 就可以支持 async 并产生人类可读的代码。未来 JavaScript 的更新也许会使这一切成为可能。

查看英文原文 TypeScript Release Adds Generics

2013 年 6 月 25 日 07:191341
用户头像

发布了 59 篇内容, 共 18.7 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

区块链农产品质量安全溯源,保证农产品品质

13530558032

Spark数据倾斜方案实战(二)

小舰

4月日更

年薪百万是社会认同,更是自身价值体现

博文视点Broadview

区块链电子合同--助推合同数字化管理

13530558032

【LeetCode】寻找旋转排序数组中的最小值Java题解

HQ数字卡

算法 LeetCode 4月日更

LeetCode题解:剑指 Offer 49. 丑数,二叉堆,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

团队协作中,如何写出让同事赞不绝口的代码

有道技术团队

代码规范

火山引擎 Redis 云原生实践

火山引擎开发者社区

云原生 redis cluster

手把手教你写一个spring IOC容器

华为云开发者社区

spring 容器 ioc spring框架 spring IOC容器

python 调用 cmd 而不显示黑框的方法

一代咩神

Python cmd

区块链农产品溯源平台,为农产品质量安全护航

13828808769

区块链 区块链+

空中交警:借你一双“慧眼”,让你看透这飞机的“黑色十分钟”

华为云开发者社区

modelarts yolo 华为云ModelArts 模型开发 华为开发者大会2021

重磅功能!博睿数据APM助企业从容应对云原生架构演进

博睿数据

应用性能监控产品 Bonree Server 博睿数据 bonree

多功能工具箱Quicker+笔记软件flomo,竟然还能擦出这样的火花?

彭宏豪95

效率 工具软件 笔记 工具分享 4月日更

区块链产业园区服务平台开发,搭建区块链园区运营平台

13828808769

区块链+ #区块链#

初识Nginx(一)

书旅

nginx Nginx PHP-FPM

善盾SD币是什么?

飞亚科技

智慧平安社区建设,创建“三零平安社区”

13530558032

Linux cat 命令

一个大红包

4月日更

EFT【阿凡提】等级规则、收益、排线方法与EFTalk十大关键点

币圈那点事

手摸手教你阅读和调试大型开源项目 ZooKeeper

HelloGitHub

Java zookeeper 源码分析 ZooKeeper原理

3w 字长文爆肝 Java 基础面试题!太顶了!!!

cxuan

Java 后端 面试题

Golang 字符串分组

一代咩神

golang

技术分享第二讲报名!

神策技术社区

大数据 活动 报名 神策

马特量化交易机器人,炒币24小时不停歇

飞亚科技

Spring IOC 特性有哪些,不会读不懂源码!

小傅哥

Java spring 小傅哥 控制反转IOC

SumSwap节点预售关注度飙升而Uniswap V3版本却备受争议

币圈资讯

“区块链+电子处方”,医疗跟更健康

电微13828808271

区块链数据共享平台—追踪、溯源、可信

电微13828808271

区块链+

面试笔记(一)事务连环炮

U+2647

分布式事务 事务隔离级别 事务 四月日更

盘点 15 个好用的 API 接口管理神器

Java小咖秀

工具 工具分享

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

最新的TypeScript增加了泛型支持-InfoQ