0

そのように定義されたCoffeeSciptクラスがあります

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

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

ログが定義されていないというエラーが発生し続けます。作ってみて@log:もダメでした。->をメインにしようとしましたが、うまくいき=>ませんでした。クラス自体からインスタンス メソッドを呼び出すにはどうすればよいですか?

4

1 に答える 1

9

@以下を定義するときではなく、インスタンス メソッドとフィールドを呼び出すときに使用します。

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 を見てください。

于 2013-07-12T16:57:04.467 に答える