CoffeeScriptとJavaScriptの違い
CoffeeScriptを一言で言えば、JavaScriptをより楽しく書くための言語といえます。では具体的にJavaScriptとはどう違うのでしょうか。
利点
- 文法がシンプルでわかりやすい
- ソースコードがきれいで見通しが良くなる
- コンパイル時に構文チェックができる
プログラムの基本的な部分はJavaScriptと同じであるものの、RubyやPythonに似せて文法がアレンジされており、ソースコードの行数が長くなっても見た目をきれいに保つことができます。無名関数やクラスなど、JavaScriptでは入力するだけでも面倒だった部分もCoffeeScriptでは簡潔に書くことができます。
また、構文に間違いがあればコンパイル時にエラーを吐くため、単純なエラーなら実行前に必ず検出できるという利点があります。
しかし筆者が感じる一番のメリットは、書いていて楽しいということです。もしCoffeeScriptを自分で書いてみてもあまり楽しくないという場合は、使わない方がいいかもしれません。
欠点
- デバッグしづらい
- コンパイルの手間が増える
最大の欠点はデバッグしづらいということです。コンパイル後のJavaScriptを実行している時にエラーが発生すると、デバッガに表示されるのはJavaScriptでの行番号であり、CoffeeScriptの行番号とは異なります。デバッグの度にCoffeeScriptで対応する行を見つけるという手間が増えることになります。しかしプログラムの全体構造はコンパイル後も変わらないため、対応する箇所を見つけるのはさほど難しくありません。このような不便を解消するため、Firefoxの機能としてコンパイル前の行番号を表示できるようにしようと開発が進められています。
コンパイルの手間を減らすには、連載第2回で解説する継続的コンパイルを使う方法があります。Ruby on Rails 3.1ではアセットパイプラインによって自動的にコンパイルされるため手動でのコンパイルは必要ありません。
どんなときCoffeeScriptを使えばいいか
どのような開発でもCoffeeScriptによるメリットを受けることができますが、特に大規模な開発プロジェクトで有効です。ソースコードの量が増えれば増えるほど、JavaScriptに比べて工数が減る、全体の見通しが良くなるといったメリットが大きくなります。
まずは試しにCoffeeScriptを使ってみることをおすすめします。もし既存のプロジェクトがあれば、その中のたった1つのファイルにだけでもCoffeeScriptを導入できます。お気に召さなければいつでもJavaScriptに戻せるので、ぜひ気軽にトライしてみてください。