クラスという概念はなかったのですが、
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でスーパークラスのメソッドを呼び出すことができます。
やっぱりクラスを使うと、比較的大きなコードを書くときは、考えやすくて便利ですよね。
0 件のコメント:
コメントを投稿