Jeremy Ashkenas氏はCoffeeScriptバージョン1.7をリリースした。長らく期待されていた新しい機能がいくつか追加された。
このバージョンでは最も多かった要望である丸括弧なしのチェーニングがサポートされた。以前までのバージョンでは、開発者が関数をチェーンさせたいときは、丸括弧を使わなければならなかった。
// prior to 1.7 - parenthesis required to chain
$('#element').addClass('active').css({ left: 5 });// as of 1.7 - no parenthesis
$ '#element'
.addClass 'active'
.css { left: 5 }
また複数行の文字列もサポートした。以前のバージョンでは、新しい行や空白を表す文字列リテラルは、ふたつの文字列が同じ1行に含まれることを示す`\`演算子を無視していた。バージョン1.7では、修正され、開発者は複数行の文字列をきれいに記述できるようになった。
console.log '''The quick brown fox jumped over the \
lazy dog'''// prior to 1.7 outputs
The quick brown fox jumped \nover the lazy dog// as of 1.7 now outputs
The quick brown fox jumped over the lazy dog
配列の分割代入にも拡張が追加された。これはCoffeScriptで長らく問題になっていたものだ。
# get the last item in the animals array
animals = [ 'cat', 'dog', 'hippopotamus' ]# prior to 1.7
hippo = animals[animal.length - 1]# as of 1.7
[..., hippo] = animals# ...both of which transpile to...
hippo = animals[animals.length - 1];
新しい演算子も追加された。power演算子、floor division、剰余演算(割り算の余りを返す)。
# power
2 ** 2
# transpiles to...
Math.pow(2, 2);# floor division
2 // 3
#transpiles to...
Math.floor(2 / 3)# modulo
2 %% 3
#transpiles to...
var __modulo = function(a, b) { return (a % b + +b) % b; };
__modulo(2, 1);
Node.jsでも適切に使えるようになったので、ディレクトリ内の文が自動的に実行されるのではなく、Nodeのように動作し、index.coffeeファイルだけが動作するようになっている。
1.7の開発の大多数(そしてCoffeeScriptの過去数年の開発)はコミュニティによってなされてきた。"100人以上の開発者が開発を行い、パッチをマージしています。"とJeremy氏は言う。"CoffeeScriptはさまざまな使われ方をしています。JavaScriptプログラマにとって魅力的だからです。"1.7のリリースについては、Jeremy氏はMichael Srb氏の貢献に対して特別な謝意を示している。
CoffeeScriptは確かに人気があり、GitHub上でも10番目に人気のあるプロジェクトだ。Ruby on Rails(バージョン3.1以上)のようなフレームワークでもサポートされている。MicrosoftのVisual StudioでもWeb Essentialsプラグイン経由で利用できる。JavaScriptの開発者であるBrenden Eich氏も自身の未来のJavaScriptに対する考え方がCoffeeScriptに影響を受けていることを表明している。
GitHubのユーザであるstefanpennerはCoffeeScriptでは、“…ECMAScript6のimport、exportが重要になるだろう…”と書いている。
Jeremy氏はES6について次のように言う。
CoffeeScriptはほとんど完成しています。ここ数年とても安定しています。しかし、未来に向かって成長していく必要があります。例えば、新しいJavaScriptの機能をサポート、ソースマップのサポートや、プログラミングスタイルの改善などです。
CoffeeScriptコンパイラを書き直すKickstarterプロジェクトが立ち上がっている。資金調達は成功し、CoffeeScriptReduxという名前のプロジェクトになったようだ。 Jeremy氏は新しいコンパイラを作ることの利点について、"ある言語の優れたコンパイラが多ければ多いほど、その言語は健全です。別のコンパイラがあることはCoffeeScriptにとっても良いことなのです。"
1.7はGitHubまたはCoffeeScriptの公式サイトから入手できる。