CoffeeScript实例方法

时间:2013-07-12 16:52:59

标签: coffeescript instance-methods

我有一个像这样定义的CoffeeScipt类

class Foo
  a: 1
  b: 2
  main: ->
   if a == 1
    log(1)

  log: (num) ->
    console.log(num)
f = new Foo
f.main()

它一直错误地说没有定义日志。我试过让它@log:也没用。我尝试将->作为主=>并且也无效。如何在类本身中调用实例方法?

1 个答案:

答案 0 :(得分:8)

在调用实例方法和字段时使用@而不是在定义:

class Foo
  a: 1
  b: 2

  main: ->
   if @a == 1
    @log(1)

  log: (num) ->
    console.log(num)

f = new Foo()
f.main()

使用@这样定义方法

@log: (num) ->
    console.log(num)

让它们变得静止 在使用CoffeeScript进行开发时查看已编译的JS。