CoffeeScript

PythonやRubyのような文法の小さな言語。
CoffeeScriptのソースをcoffeeコマンドでコンパイルするとJavaScriptのソースを生成できる。

ワケの分からない言い方をすると、JavaScriptを書かずにJavaScriptが書ける。
これはなかなか凄い。
言語の学習コストもそんなに高くないかんじ。

日本語だと以下によく情報がまとまっている。Titaniumのコードも書けてしまう。

Node.jsといっしょに使ってみる

Node.jsとの親和性も高くnpmでさくっと入る。

npm install coffee-script

そしてNode.jsを動かすソースの頭で一言呪文を唱えれば

require('coffee-script')

コーヒー飲み放題!
じゃなくてCoffeeScript使い放題!(たぶん)

でもjsファイル内にはCoffeeScriptは書けない。
CoffeeScriptは拡張子coffeeのファイルに書いたものを読み込んで使う。

一方でcoffeeファイル内にはバッククォートで囲んだJavaScriptを埋め込める。
またJavaScriptで書かれたライブラリも読み込める。

ただモジュールにするときはcoffeeコマンドに-bオプションを付けてコンパイルしないとうまく動かないので、jsにコンパイルした物を動かす。
CoffeeScriptのまま使おうとするとスコープの関係で動かない。これはちょっとハマった。

基本Node.jsを介して使うなら常にコンパイルした物を動かした方がいいのかも。

$ coffee -w -b -o lib/ -c src/

とかやっとけばsrc/*.coffeeを修正したとき自動的にlib/*.jsとしてコンパイルされるので、常にコンパイルすると言っても手間はかからない。

しかし

JavaScriptで十分って人には不要な代物。
またうまく動かなかったときの原因究明にはコンパイルされたJavaScriptを読んでいく作業がしばしば発生するので、JavaScriptの知識なしに使えるというものでもない。

でも自分は気に入りました。
しばらく使ってみる。

参考

次の記事

jasmine-nodeでNode.jsのBDD環境