CoffeeScript Gets Regrind
Written by Kay Ewbank   
Monday, 10 February 2014

CoffeeScript 1.7 has been released with new features requested by developers.

CoffeeScript is a small language that compiles into the equivalent JavaScript with no interpretation at runtime.

According to the official CoffeeScript website, It 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, and tends to run as fast or faster than the equivalent handwritten JavaScript.

The ‘Literate Programming’ mode introduced in CoffeeScript 1.5 is optional, and is used to make code more readable. If a file is marked as ‘.litcoffee’. then when the compiler is compiling it to JavaScript, anything that isn't indented is discarded, and only the indented text is compiled. CoffeeScript is among the most popular languages on GitHub, and is supported in frameworks such as Ruby on Rails.

CoffeeScript is described as stable and mostly finished, but this new release does add some new features. In a post on Github about the new version, its creator Jeremy Ashkenas describes the changes (in his own "order of excitement"), starting with support for chaining without parentheses. Until now, you had to use a parenthesis if you wanted to chain functions, as shown in the following example:

$("p.neat").addClass("ohmy").show("slow");

This can now be written as:

$("p.neat")
.addClass "ohmy"
.show "slow"

 

The new release has also added better support for multiline strings, with the ability to wrap long strings such as user-facing messages without breaking your code's indentation, or manually stripping newlines out.

Another improvement is support for expansion for array destructuring. This was the longest open issue on CoffeScript. Until now, if you wanted to get the first and last elements of an array, you’d have to use:

[first, middle..., last] = array

The new version lets you just use

[first, ..., last] = array

Likewise, if you want to get the last element in an array in the current version, you’d use:

last = array[array.length - 1]

The new version lets you use:

[..., last] = array

New mathematical operators have been added in the form of a Power operator (**), floor division operator (//), and a modulo operator that respects negatives (%% ).

The 1.7 release is available on the CoffeeScript site and on Github.

 

More Information

CoffeeScript

 

Related Articles

CoffeeScript Supports Literate Programming

Programming in CoffeeScript (book review)

CoffeeScript: Accelerated JavaScript Development (book review)

JavaScript Assembly Language

JavaScript debugging tools move forward

JavaScript creator talks about the future

 

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

 

blog comments powered by Disqus

 

Banner


Microsoft's WinJS - New Cross-Platform Library
19/09/2014

WinJS was Microsoft's JavaScript framework for the creation of "Metro" or WinRT apps. Recently it was open sourced and now, with the release of version 3.0, it has escaped the confines of WinRT to bec [ ... ]



RAD Studio XE6
04/09/2014

The latest version of Embarcadero RAD Studio has been released, with better support for creating apps that provide a shared user interface optimized for different devices including gadgets and wearabl [ ... ]


More News

Last Updated ( Monday, 10 February 2014 )
 
 

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