CoffeeScript 2 Released With Support For Async
CoffeeScript 2 Released With Support For Async
Written by Kay Ewbank   
Thursday, 28 September 2017

There's a new version of CoffeeScript that is more compatible with modern JavaScript. The new release adds features including support for async functions and JSX.

 CoffeeScript code compiles one-to-one into JavaScript while being easier to read and adding language features not supported by classic JavaScript. The developers say the language aims to expose the good parts of JavaScript in a simple way. You can use any existing JavaScript library seamlessly from CoffeeScript, and the compiled output remains readable, passes through JavaScript Lint without warnings, will work in every JavaScript runtime. It tends to run as fast or faster than the equivalent handwritten JavaScript.

The new version of CoffeeScript translates CoffeeScript code into modern JavaScript syntax. So a CoffeeScript => is now output as =>, a CoffeeScript class is now output using the class keyword, and so on. While this has advantages, it does mean that you may need to transpile the CoffeeScript compiler’s output if your runtime doesn't support the most modern JavaScript syntax. CoffeeScript comes with built-in support for the Babel transpiler.

coffeescript2

The second major change in CoffeeScript 2 is support for async functions syntax, for the future object destructuring syntax, and for JSX. Other changes to JavaScript such as support for modules, tagged template literals, and the for..of construct were backported into CoffeeScript version 1.12.

JSX is a mix of JavaScript and XML elements, and CoffeeScript supports interspersed XML elements without the need for separate plugins or special settings.

ES2017 added async functions using the await keyword, and CoffeeScript uses the notion of an async function simply being a function that awaits.

The developers say there are minimal breaking changes from earlier versions, and most current CoffeeScript projects should be able to upgrade with little or no refactoring necessary.

Some new JavaScript features haven't been added to CoffeeScript, including let and const (and var), named functions and the get and set keywords to avoid ambiguity. The developers say that CoffeeScript’s lack of equivalents for these features does not affect compatibility or interoperability with JavaScript modules or libraries.

 coffeescript

More Information

CoffeeScript Site

Related Articles

 DeCaffeinate Converts CoffeeScript To JavaScript

CoffeeScript 1.9 Released

CoffeeScript Update

The Weekly Top 10: More JavaScript Development Resources

TypeScript 1.7

CoffeeScript Gets Regrind

CoffeeScript Supports Literate Programming

CoffeeScript in Action (Manning) (book review)

Programming in CoffeeScript (book review)

CoffeeScript: Accelerated JavaScript Development (book review)

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


Ink To Code Microsoft Draws The UI
30/01/2018

Ink to Code is a Microsoft Garage project which lets you draw your UI and then converts it to a layout in Visual Studio. Sounds like a good idea, but is it?



Intel Ships New RealSense Cameras Is This The Kinect Replacement We Have Been Looking For?
26/01/2018

With Microsoft stopping the production of the Kinect, the Intel RealSense family of cameras seems like the obvious replacement. But there are problems - can we trust Intel to keep the hardware in prod [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Thursday, 28 September 2017 )
 
 

   
Banner
Banner
RSS feed of news items only
I Programmer News
Copyright © 2018 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.