#daiizメモ

Scrapboxに夢中

CoffeeScriptメモ

JavaScriptに似たようなスタンスの言語にCoffeeScriptというものがある.D3.jsを使ったプログラムを書くときにサンプルコードとして使用されていたりする.

npmのcoffeeを使うと.coffeeなファイルを.jsにコンパイルすることができる.coffeeコマンドはnpmからインストールする.

$ npm install -g coffee

JSにコンパイルするときは

$ coffee -c app.coffee

を実行するだけで良い.これを実行すると,同じ階層にapp.jsが生成される.

例えばapp.coffee内でCoffeeScriptで

myFunction = (arg) ->
    console.log(arg)

のように関数を宣言していると,コンパイル後は

(function() {
    myFunction = function (arg) {
        console.log(arg);
    };
}).call(this);

のような感じでJSが生成される.

これだと他のJavaScript関数などからmyFunctionを呼び出すことができない. 必要なプログラムを全てapp.coffee内で書けば問題無いが,CoffeScriptな部分は少しに留めて,他はJSで書きたいという場合には困る.グローバル領域などに関数を定義しておけば,参照することは可能になるので

window.myFunction = (arg) ->
    console.log(arg)

のように関数定義して凌いだ.