CoffeeScript实例方法

rdo*_*dev 0 instance-methods coffeescript

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

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

  log: (num) ->
    console.log(num)
f = new Foo
f.main()
Run Code Online (Sandbox Code Playgroud)

它一直错误地说没有定义日志.我试过让它@log:也不起作用.我尝试制作->主要的a =>并且也没有用.如何从类本身调用实例方法?

Ser*_*lov 8

使用@调用实例方法和字段时,如果不定义时:

class Foo
  a: 1
  b: 2

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

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

f = new Foo()
f.main()
Run Code Online (Sandbox Code Playgroud)

@这样的方法定义方法

@log: (num) ->
    console.log(num)
Run Code Online (Sandbox Code Playgroud)

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