写点什么

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:571772
用户头像

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

关注

评论

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

Linux 示例中的 apt 命令大全,建议收藏!

Ethereal

IntelliJ IDEA 在校验 PHP Debug 配置的时候提示 URL 无法访问

HoneyMoose

web前端开发nodejs基本原理_前端培训

@零度

node.js 前端开发

RocketMQ-Streams 首个版本发布,轻量级计算的新选择

阿里巴巴云原生

重新理解“无容灾不上云”:应用多活将成为云原生容灾新趋势

阿里巴巴云原生

阿里云 开源 云原生

一句话告诉您什么是运维?以及如何运维才能事半功倍?

行云管家

运维 IT运维 自动化运维

如何在Linux解压缩(打开)Gz 文件?

Ethereal

安全领域权限模型

alibeer

IntelliJ IDEA Ultimate 配置 PHP 拦截器

HoneyMoose

基于CC2530设计的自动晾衣杆

DS小龙哥

2月月更

前后端分离项目,如何解决跨域问题?

沉默王二

Java 前端 后端 跨域

绿色数据中心“东数西算”全面启动!八大枢纽十大集群 - 涉及高性能计算,数据集群,水冷散热

GPU算力

java面试jvm调优的意义_java培训

@零度

JVM JAVA开发

外包学生管理系统架构设计文档

风中奇缘

架构实战课 「架构实战营」

IntelliJ IDEA Ultimate 配置 PHP 拦截器中 Xdebug 扩展应该怎么填

HoneyMoose

阿里巴巴的Java开发手册(黄山版)来了

Geek_rze78a

Java 阿里巴巴面经总结

Linux基础操作:如何在 Linux 中复制文件夹?

Ethereal

Linux系统数据备份不再头疼,Rdiff-backup来帮忙!

Ethereal

Logo小变动,心境大不同,SVG矢量动画格式网站Logo图片制作与实践教程(Python3)

刘悦的技术博客

前端 动画 SVG Python3 svg图

学生管理系统详细架构设计文档

晨亮

「架构实战营」

架构学习【03】——外包学生管理系统的架构文档

tiger

架构实战营

uni-app技术分享| uni-app常见问题(一)

anyRTC开发者

uni-app 音视频 WebRTC 移动开发 实时通讯

IntelliJ IDEA 在校验 PHP Debug 配置的时候提示 Xdebug 扩展没有载入

HoneyMoose

如何在 Vue 中导出数据至 Excel 表格 - 卡拉云

蒋川

Vue Vue 3 vue admin

如果写作平台不叫写作平台,他应该叫……?

InfoQ写作社区官方

写作平台 创意 话题讨论 热门活动

外包学生管理系统架构设计文档

五月雨

架构实战营 「架构实战营」

数据平台与Flink任务运行原理介绍

云智慧AIOps社区

redis 云计算 大数据 kafka Flink 平台

你才二十几岁呀,怎么眼里没有光了呢?

架构精进之路

随笔 日常感悟 2月日更

灵雀云加入,龙蜥社区迎来国内领先的企业级PaaS服务商

OpenAnolis小助手

Linux 开源 云原生 PaaS

Go 语言快速入门指南:Go 模板介绍

宇宙之一粟

Go 语言 2月月更

尚硅谷MyBatis新版视频教程发布

@零度

Java mybatis

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