[coffeescript][js] CoffeeScript雑感
なんかCoffeeScriptというのが話題になっていたので試しにちょっとだけ使ってみました。
パッと見の印象は「このRubyとPythonとJavaScriptのちゃんぽんみたいな独自文法は無駄に敷居を上げてるような気が…。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が吐かれるので、逆にたどることは難しくないのですが。