BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

TypeScript 1.5进一步提升了面向ES6 的转译特性

| 作者 David Iffland 关注 4 他的粉丝 ,译者 邵思华 关注 3 他的粉丝 发布于 2015年8月6日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在TypeScript的上一个版本发布7个月之后,微软终于发布了TypeScript 1.5,新版本朝着完全支持ES6的最终目标又迈进了一大步。

TypeScript 1.4于2015年1月发布时,它的Kangax ES6兼容性(特性实现比例)仅仅只有8%。而TypeScript 1.5中加入了众多的新特性,使得其兼容性达到了53%(截至2015年7月26日)。

不出所料,1.5版本加入了对ES6风格的模块语法的支持。编译器已能够将模块以SystemJSUMD的语法进行输出。除此之外,开发团队还借此机会将之前版本中被命名为“内部模块”的特性更名为“命名空间”,以减少使用者的困惑。

1.5版本还加入了对修饰符的支持,这一特性之所以能够出现在这门语言中,是开发团队与Angular、Ember以及Aurelia团队通力合作的成果。修饰符能够提供运行Angular 2.0应用所必需的特性,这几个团队都希望修饰符能够成为ES7的一部分,但目前为止,它仍然被认为是一种实验性质的特性。为了在Angular 2.0应用中启用这一特性,开发者需要打开—experimentalDecorators这个编译标志。

Steve Ognibene是Pluralsight网站上一门有关TypeScript的课程的作者,他对于1.5版本面向ES6的转译功能感到十分兴奋:

TypeScript如今已成为一个完美的ES6至ES5的转译器,使用TypeScript 1.5的团队不仅能够享受到那些一贯的好处,例如开发时错误提示、恰当的智能提示与文档、以及优秀的重构与代码导航功能,还能够编写使用ES6的特性,而实际上在当前的ES5环境下运行的代码。对于ES6风格的各种语法,TypeScript 1.5都实现了良好的ES5转译,因此我能够在针对生产环境的代码中使用我最喜爱的特性,包括let、const、解构(destructuring)、展开(spread)、剩余参数(rest)、字符串模板,以及ES6风格的模块语法。

有些开发者可能会对async/await语法的缺失感到失望。这一特性在TypeScript路线图中目前被列为“2.0”版本中的特性之一,但在之前的修订中,它曾计划在较早的时间发布。在某篇博客的留言中,TypeScript的程序经理Jonathan Turner特意对这一特性及其发布时间进行了回应。

我们正在对编译器进行一些重构工作,以实现async/await对ES5的支持。我们希望让编译器代码与生成的代码尽量保持整洁,因此实现这一点需要一定时间。出于以上原因,我们估计这一特性也不会出现在1.6版本中,因为我们希望尽快发布新的版本。

这条回复同时也暗示着下一个版本的TypeScript用不着再等上7个月那么久了,1.6版本中计划加入的特性包括:

  • 对JSX的支持
  • 抽象类与方法
  • ES6生成器

开发者们可以在最新发布的Visual Studio 2015中直接使用TypeScript 1.5,也可以下载对应Visual Studio 2013与npm的版本。

查看英文原文:TypeScript 1.5 Boosts ES6 Transpilation Features

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT