console.log("Hello")
# 関数
myTest = (msg) ->
console.log(msg)
myTest("hogehoge")
# 関数、戻り値あり
showTest = (msg) ->
msg + "hogehoge" # return
console.log(showTest("---"))
# 連想配列
menu =
coffee: 100
cake: 200
console.log menu["coffee"]
console.log menu.cake
# クラス
class Test
# コンストラクタ
# 引数にそのまま @ をつけるとthisのプロパティとなる
constructor: (param1, @param2) ->
console.log("constructor")
@param1 = param1 # @に入れることで、thisのプロパティとなる
# メソッド
tensu: ->
console.log("misenai")
# メソッド(引数)
tensu2: (msg) ->
console.log(msg)
# 静的メソッド
@seitekitensu: ->
console.log("seiteki tensu")
# 静的プロパティ
@seitekivalue: "seitekivalue"
show: ->
console.log(@param1)
console.log(@param2)
show2: ->
@show() # this.show()
test = new Test("param1", "param2")
test.tensu()
test.tensu2("222")
test.show()
test.show2()
Test.seitekitensu()
console.log Test.seitekivalue
実行結果
% coffee hello.coffee
Hello
hogehoge
---hogehoge
100
200
constructor
misenai
222
param1
param2
param1
param2
seiteki tensu
seitekivalue