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

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

你可能感兴趣的:(CoffeeScript 1.9发布,引入对生成器的支持)