CoffeeScript勉強中です.
JavaScriptのクラスの面倒な部分が隠蔽されていてわかりやすいです.
以下のコードを例にして説明します.
class Test constructor: (@hoge) -> #publicな変数 public: 1 #public staticな変数 @publicStatic = 2 #private staticな変数 privateStatic = 3 #表示用関数 getPublic: -> @public getPublicStatic: -> Test.publicStatic getPrivateStatic: -> privateStatic
コンストラクタ
constructor: (@hoge) ->
上のように変数名に@をつけて書くのは下のような@hoge(this.hoge)への代入の省略記法です.
constructor: (hoge) -> @hoge = hoge
publicな変数
public: 1
メソッド内から参照するときには"@変数名"の形で参照します
getPublic: -> @public
public staticな変数
@publicStatic = 1
メソッド内から参照するときには"クラス名.変数名"の形で参照します
getPublicStatic: -> Test.publicStatic
private staticな変数
privateStatic = 1
メソッド内から参照するときには"変数名"の形で参照します
getPrivateStatic: -> privateStatic