转载

微软推出TypeScript 1.7

微软最近发布了TypeScript —— 这个JavaScript超集的语言的1.7版本,新版本兑现了微软的部分承诺,使某些场景中的编程工作更为简便了。

新版本中最受期待的特性就是对async/await语法的支持,目前对于以ES6为目标的项目已经可以使用该语法了。async/await语法允许开发者将某个函数标记为async,通过在异步函数中使用await关键字,开发者就能够以调用同步代码的形式调用异步函数了。目前为止,该语法仅能够用于ES6,因为语法的 实现背后 使用了代码生成器。

出于该特性的复杂性,直到2.0版本发布之前,以ES5为目标的代码都无法使用这一语法。在 另一篇博客 中,微软表示对该语法的支持是一个巨大的变动:

为了支持各种浏览器,我们必须使用状态机的方式,将ES6的代码生成器函数重写为能够在ES5中运行的JavaScript。这一任务是一项艰巨的挑战,它需要对编译器代码进行大量的改动,但我们目前正致力于实现它。

如果开发者希望现在就能够在所有浏览器中应用这一特性,可以选择使用 Babel 。

微软在新版本中还引入了多态的this类型,使用它能够更方便地编写fluent风格的代码,如下所示:

var result = myObject.doSomething().doSomethingElse();

按照微软的描述,“this类型可用于类与接口中,用于表现包含类型的某个子类型(而不是包含类型本身)。”如果想详细了解这一特性的应用方式,请查阅 TypeScript的Wiki 。在Hacker News上的讨论中,用户tlarkworthy对于此特性 表现出了极大的热情 :

在进行泛型编程时,你可能会遇到“无法在类型列表中两次引用同一个类型”的问题,此时多态的this类型就能够派上大用。自从接触过它之后,我已经在许多场合中应用过它了。它能够解决许多问题,例如实现一个clone方法。这个新特性太棒了!

开发者可以通过npm、Visual Studio 2015 Update 1或Visual Studio 2013安装TypeScript 1.7。

查看英文原文: Microsoft Bumps TypeScript to Version 1.7

正文到此结束
Loading...