monthly gimite

試験運用中。

[coffeescript][js] CoffeeScript雑感

なんかCoffeeScriptというのが話題になっていたので試しにちょっとだけ使ってみました。

パッと見の印象は「このRubyPythonJavaScriptのちゃんぽんみたいな独自文法は無駄に敷居を上げてるような気が…。JavaScriptに最低限の拡張を加えるなり、Mirahみたいにどれか既存の言語を極力真似るとかのほうがとっつきやすいのでは」という感じだったのですが、使ってみると割とすぐ慣れました。

ちょっとしたコードを書いてみて便利だったのは

  • functionが->。言われてみればJSはfunctionだらけなのに"function"は長すぎ。特に
foo(function() {
  ...
});

Rubyのブロック付きメソッドっぽく

foo ->
  ...

と書けるのは便利。

  • 配列に対するRuby的なfor文。

今回は使わなかったですが便利そうなのは

  • [f(x) for x if x] みたいなやつ。
  • classと=>(thisが変わっちゃう問題をworkaroundしてくれるやつ)。

難点としては、誰かが書いてましたがruntime errorがあったときに生成後のJSでの行番号が出てくることですね…。比較的綺麗なJSが吐かれるので、逆にたどることは難しくないのですが。