CoffeeScript 1.9 发布,引入对生成器的支持

  • Sergio De Simone
  • 曹知渊

2015 年 2 月 14 日

话题:JavaScriptNode.js语言 & 开发架构

CoffeeScript 1.9 最终引入了期待已久的生成器(generator),这将会防止开发人员陷入回调函数的陷阱,并帮助他们编写异步代码。

简单说,生成器是这样一类函数,你可以中途从中退出,后面再进来,再进来时,之前的变量值都会保留。CoffeeScript 1.9 使用新的关键字yield来定义生成器函数。下面是一个简单的生成器的例子:

foo = ->
    i = 0
    yield i +1
    yield i +2

重复调用这个生成器函数,会依次返回被 yield 的值,先是 1,然后是 2。

生成器是ECMAScript 6 提案的一部分,并且已经在之前的node 0.11中引入,不过只有在你把--harmony-generators参数传递给 node 时,这个功能才会打开。不管不是和 promises 一起用,生成器都可以替代回调函数来处理异步代码。

CoffeeScript 也提供了其他一些功能:

  • 改进了字符串和正则表达式的解析和错误处理。
  • 使用新的策略来生成内部编译器变量,这意味着声明为@parameter的变量不能再作为实例在函数内部使用。
  • 修复了 REPL 和最新的 node.js 和 lo.ja 之间的兼容性问题。

CoffeeScript 是一种能编译成 JavaScript 的语言,它的目标是使用简单的方法展现 JavaScript 好的一面

查看英文原文:CoffeeScript 1.9 is Available, Introduces Generators Support

JavaScriptNode.js语言 & 开发架构