yield-Unterstützung

CoffeeScript 1.9 bringt Generator-Support

Redaktion JAXenter

© Shutterstock.com/My Life Graphic

Das Release von CoffeeScript ist genau der Volltreffer, auf den viele Entwickler gewartet haben: Der neue Generator-Support lindert den Schmerz, den Callbacks hervorrufen und unterstützt den Nutzer beim Schreiben von asynchronem Code. Mithilfe des Generator-Supports können Entwickler einfach einen yield-Befehl verwenden.

Yield-Unterstützung und weitere Features

Das Thema yield-Unterstützung wurde erstmals 2013 auf die Tagesordnung gesetzt und wurde nun in Folge eines progressiven Vorschlags von Jeremy Ashkenas implementiert: Dieser besagt, dass neue Features eingebaut werden, sobald sie in Browsern (und auf Node) funktionieren. Das Beispiel der Generator-Nutzung auf der CoffeScript-Webseite sieht folgendermaßen aus:

coffescript_1_9

Abgesehen vom ES6-Generator-Support wurden noch weitere Features in CoffeeScript 1.9 eingebaut, u.a.:

  • Robusteres Parsing und verbesserte Fehlermeldungen für String und Regexes – insbesondere im Hinblick auf Interpolationen
  • Eine neue Strategie für die Generierung von Namen interner Compiler-Variablen. D.h. die @example-Funktionsparameter stehen nicht länger als „nackte“ example-Variablen innerhalb des Funktionskörpers zur Verfügung.
  • Reparierte REPL-Kompatiblilität (mit den neuesten Versionen von Node und io.js)

Das Update bringt uns näher an die nächste Version von JavaScript ES6, die standardmäßig zahlreiche CoffeScript-Features enthalten wird. Mit Nutzern im Hinterkopf, die ob der inkompatiblen Änderung der Generierung von Namen interner Compiler-Variablen verwirrt sind, hat Stack Overflow folgendes Beispiel zur Verfügung gestellt:

If you had written tests, you could check if it affects you. Take this little piece of code:

example = „new“
obj = method: (@example) -> console.log(example)
obj.method „old“

In 1.8 this would print old. In the new version, this prints new. In the older version, @example would be translated to example in the method parameters. So you’re accessing obj.method’s function parameter in the old version. In the new version you’re accessing the example variable of the outer scope. a.example still gets set to „old“ in both cases.

Das komplette Changelog von CoffeeScript 1.9 steht hier zur Verfügung.

Aufmacherbild: Coffee beans on wood background von Shutterstock.com / Urheberrecht: My Life Graphic

Verwandte Themen:

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: