ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

jsdo.itがCoffeeScriptに対応したと聞いて

少し前になりますが、jsdo.itがCoffeeScriptとJSXに対応しました
こいつらなんだよというと、コンパイルするとJavaScriptになる、プログラミング言語のためのプログラミング言語です。
CoffeeScriptはPythonRubyにインスパイアされたようなより簡略な書き方ができる言語、JSXはJSになるくせに静的型付けのクラスベース言語です*1。jsdo.itではどちらも簡単に使うことができるので少し触ってみて気に入った方を使いましょう。
ぱっと見たところ、私はCoffeeScriptのほうがいい感じだよねと思ったので、例の波のやつをCoffeeScriptで書きなおしてみました。

参考までに元の方も載せておきます。

頑張ったのですがどうしても同じ動きを再現できませんでした。なぜだ…
見ての通り、

  • コメントは//ではなく#
  • ブロックコメントは /* ここがコメントアウトされる */ ではなく ### ここがコメントアウトされる ### で囲う*2
  • 関数は -> で定義できる
  • ブロックはインデントで表現する
  • クラスを定義する構文がある*3
  • 行末の;はなくてもいい(むしろつけないほうがいい)
  • ()は自明であれば省略できる(むしろ積極的に省略したほうが(ry)

などといった違いがあります。
場合によってはものすごく省略できるので、たとえばjQueryを使うときの初期化のおまじない

$(document).ready(function() {
    alert("hello!");
});

$(document).ready -> alert "hello!"

になります。

*1:ActionScriptっぽいといえばそうかもしれない

*2:###の前後で改行する必要があります

*3:コンストラクタの書き方がわからなくてハマったのはいい思い出です