新发布的 CoffeeScript 2 中添加了现代 JavaScript 特性

阅读数:549 2017 年 10 月 11 日

话题:JavaScript语言 & 开发

历经一年的紧张开发,CoffeeScript 浴火重生,推出了 CoffeeScript 2,更新语言以适用于现代 JavaScript 社区。

Geoffrey Booth 是在一个博客帖子中宣布这一版本发布的,并希望 CoffeeScript 2 能将该语言带回到现代 JavaScript 的车道上:

新发布的 CoffeeScript 语言和编译器瞄准于将 CoffeeScript 带入现代 JavaScript 时代,在保持 CoffeeScript 独树一帜的整洁语法的同时,填补了存在于 JavaScript 兼容性上的差距。

在 CoffeeScript 首次投入使用时,ECMAScript 2015 尚未发布,因此也没有class定义和箭头函数(=>)等这些在 CoffeeScript 中广为使用的概念。这些特性使得 JavaScript 开发人员能以当时 JavaScript 尚不具备的方式考虑问题。但是时过境迁,这些特性现已成为 JavaScript 的一般特性。鉴于 CoffeeScript 2 将编译输出为现代 JavaScript 程序,因此同样支持class=>。CoffeeScript 2 中添加的其它特性包括:

  • 模块;
  • 异步函数;
  • 默认参数值;
  • 对象析构。

随着一系列的活动和社区脱颖而出,CoffeeScrip 业已黯然失色。Hacker New 用户“srb-”是这样写道:“作为一名 CoffeeScript 热爱者,在一两年前事情就看起来相当暗淡。特别是完全看不到推出新特性的动力。”

CoffeeScript 的创立者 Jeremy Ashkenas:“这次更新正是面向那些依然使用 CoffeeScrip 的开发人员,以及使用已有 CoffeeScript 代码库的人”。虽然对 CoffeeScript 的兴趣已经随时间而暗淡,但是该语言的确影响了我们当前所看到的 JavaScript。JavaScript 的创始人 Brendan Eich曾写道,ES6 的大箭头函数(=>)就“部分上受到 CoffeeScript 的启发”。

Booth 在 InfoQ 的一次采访中,表示对结果很高兴:

我认为 CoffeeScript 的处境很好。虽然它已不复数年前的景象,但这也是一件好事情。现在 CoffeeScript 可以聚焦于更整洁的 JavaScript,而 ECMA 得以聚焦于语言特性。CoffeeScript 的使用依然相当广泛,并具有足够的支持,因此它依然适用于任何项目。这正是我们推出 CoffeeScript 2 的目的所在。

查看英文原文: CoffeeScript 2 Released, Adding Modern JavaScript Features