写点什么

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

  • 2015-08-05
  • 本文字数:1133 字

    阅读完需:约 4 分钟

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

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

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

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

2015-08-05 06:571920
用户头像

发布了 428 篇内容, 共 184.6 次阅读, 收获喜欢 39 次。

关注

评论

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

浅析 Apache Kafka 分区重分配的实现原理

移动云大数据

kafka 开源

一文了解 Nebula Graph 上的 Spark 项目

NebulaGraph

spark 图数据库 知识图谱 NebulaGraph

性能领域:你知道的越多,不知道的也就越多

博文视点Broadview

嵌入式操作系统多任务调度原理分析与RUST参考实现

Geek_0185b7

大数据培训机构怎么选?

小谷哥

LP双币质押流动性挖矿dapp系统开发逻辑分析

开发微hkkf5566

云原生(七) | Docker篇之深入Docker Compose

Lansonli

云原生 7月月更

编程技巧│超实用 nginx 中常见的配置合集

nginx 运维 经验分享 7月月更

怎么选择好的web前端开发培训课程

小谷哥

JS class 并不只是简单的语法糖!

掘金安东尼

JavaScript 前端 设计模式 7月月更

百度APP Android包体积优化实践(一)总览

百度Geek说

Java 安卓

百问百答第47期:极客有约——中信建投当前的监控体系建设情况

博睿数据

智能运维 博睿数据 中信建投 监控体系 系统监测

巧用RoaringBitMap处理海量数据内存diff问题

得物技术

Java HBase BitMap

SAP 实施项目中涉及到编程方式操作 Excel 的几种场景介绍

汪子熙

Excel automation SAP abap 7月月更

大数据入门学习指南

Lansonli

大数据 7月月更 大数据基础 大数据基础知识 大数据核心

MySync——企点通用MySQL数据同步解决方案

腾讯企点技术团队

MySQL 数据库 日志 Binlog 同步

云原生、Intel Arch及云原生机密计算 3 大 SIG 在线分享!今天见 | 第 32-34 期

OpenAnolis小助手

开源 云原生 虚拟化 龙蜥大讲堂 SIG双周会

好书推荐|《产业数字化转型精要:方法与实践》

李洋

职业 数字化转型 数字经济 书籍 CIO的秘密武器

DevOps 实践多年,最痛的居然是?

飞算JavaAI开发助手

Java培训如何选择靠谱

小谷哥

小程序技术解决桌面应用敏捷迭代的一种思路

Speedoooo

小程序 移动开发 小程序容器 桌面应用

函数递归习题(easy版)

芒果酱

c++ C语言 7月月更

庖丁解牛,复盘 HiveServer2 连接频繁卡顿问题

移动云大数据

大数据 hive

火爆各平台的拼团功能,宝子们在多商户系统中玩过吗?

CRMEB

学习web前端开发有哪些好的方法

小谷哥

web前端开发技术就业前景怎么样

小谷哥

SDL文字显示

柒号华仔

7月月更

小李:“有没有特别简单的Python解密rsa的案例?”“还真有”

梦想橡皮擦

Python 爬虫 7月月更

直播预告 | 多云时代如何建设企业云管理平台?

BoCloud博云

cmp 云管理平台 云管理

LabView中禁用模块(属性节点)

一碗黄豆酱

TypeScript 1.5进一步提升了面向ES6 的转译特性_语言 & 开发_David Iffland_InfoQ精选文章