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)
のように関数定義して凌いだ.