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.

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Knuth's Xmas Lecture 2024 - Strong And Weak
22/12/2024

Could  the festive season be complete without Donald Knuth putting on his flamboyant xmas top and talking to us about something that most of us know nothing about? Of course not.



Gifts For Geeks 2024
22/11/2024

Are you ready for Thanksgiving, when overeating remorse and a surfeit of being thankful causes the unsettling thought that there are only four weeks till the Xmas break? So here is a mix of weird [ ... ]


More News

Last Updated ( Monday, 10 February 2014 )