BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース CoffeeScript 1.7

CoffeeScript 1.7

ブックマーク

原文(投稿日:2014/02/08)へのリンク

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の公式サイトから入手できる。

この記事に星をつける

おすすめ度
スタイル

BT