クラスという概念はなかったのですが、
CoffeeScriptには、クラスという概念があります。
class Hello
method: ->
alert "hello"
"class クラス名"でクラスを宣言できます。メソッドは、クラスのブロックで
メソッド名: (引数) -> メソッド本体と書きます。
これをJavaScriptに変換すると、下記のようになります。
var Hello;
Hello = (function() {
function Hello() {}
Hello.prototype.method = function() {
return alert("hello");
};
return Hello;
})();
CoffeeScriptのページのサンプルの例を持ってくると
class Animal
constructor: (@name) ->
move: (meters) ->
alert @name + " moved #{meters}m."
Animalとうクラスです。コンストラクタは "constructor:"で定義できます。
@xxxはインスタンス変数ですね。
ちなみに#{}を使えば、文字列のなかで変数を評価して値を使用できます。(Rubyと同じ構文ですね。)
class Snake extends Animal
move: ->
alert "Slithering..."
super 5
class Horse extends Animal
move: ->
alert "Galloping..."
super 45
継承はextendsを使います。superでスーパークラスのメソッドを呼び出すことができます。
やっぱりクラスを使うと、比較的大きなコードを書くときは、考えやすくて便利ですよね。




