суббота, 7 июня 2014 г.

Fat Arrow

Этот способ позволяет нам ссылаться на this из класса а не контекста более глубокого.
Например:

class Coffee
  constructor: (@name, @strength=1, @inventory=0) ->

  pourClick: ->
    $("#pour-#{@name}").click (event) ->
      if @inventory isnt 0
        @inventory -= 1
        alert "Poured a cup of #{name}"
В даном примере мы хотим внутри хендлера клика обратиться к @inventory (this.inventory) именно инстанции класса, но в данном контексе this будет представлять кнопку.
Именно для такого случая придумали Fat Arrow(=>) чтобы указать, что нас интересует контекст инстанции класса.
class Coffee
  constructor: (@name, @strength=1, @inventory=0) ->

  pourClick: ->
    $("#pour-#{@name}").click (event) =>
      if @inventory isnt 0
        @inventory -= 1
        alert "Poured a cup of #{name}"

Комментариев нет:

Отправить комментарий