JavaSctipt と CoffeeScript の違い

CoffeeScript では
プログラムの構造を表すのに
;
{}
を使わない
各行の先頭に
スペースやタブを入れて
インデントすることで構造を表す
このため、
}
とか
;
が原因のバグが起きなくてすむ
また、関数の作り方は
JavaScript では
function() {}
だったけど
CoffeeScript では
->
となる
また、CoffeeScript ではオブジェクトの定義に
class を使う
そして、CofeeScript の場合
コンストラクタは
constractor という名前のメソッドで定義する
メソッドは
メソッド名:->
と定義する
そして 変数を宣言する時に
JavaScript では
var
で変数宣言したけど
CoffeeScript では
利用した関数が、関数の先頭で自動的に定義される
プロパティの値には@がつく
これは JavaSctipt の this の代わり
そして
->
の代わりに
=>
を使うと意味が変わる
メソッドの定義で=>を使うと
どんな呼ばれ方をしても
@が変わらないメソッドになる
@は JavaScript でいう this のこと
JavaScript のときには this が変わるため
対処が必須だったけど
CoffeeScript なら
=>
で対処できる

CoffeeScript 開発環境導入

CoffeeScript を使うのに必要となる
JavaScript 実行環境 Node.js

そのパッケージ管理システムの npm
をインストールします
端末を開いて
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs npm
インストールできたらバージョン確認
node -v
次に、coffee-script のインストール
sudo npm install -g coffee-script
インストールできたら
coffee -v
でバージョン確認

coffeeScript

coffeeScript は
java script にコンパイルして使う小さな言語
CoffeeScript は
java script の豊富なライブラリをそのまま使える
CoffeeScript は
オブジェクト至高に対する考えが違う
JavaScript はプロトタイプベース
CoffeeScript はクラスベース
ちなみに、
Java
C++
Ruby
などもクラスベース
JavaScript が採用しているプロトタイプベースは
組み立てたオブジェクトに
後から
プロパティ、メソッドを追加できる
オブジェクトのコンストラクタは
あくまでプロトタイプという考え方
柔軟性は高いけど、思わぬバグがでたりするのが欠点
CoffeeScript は
extends による継承もできるし
実は機能の追加も後からでもできる