Вызов метода из конструктора в Coffeescript - PullRequest
24 голосов
/ 08 августа 2011

Можно ли вызвать метод из конструктора в Coffeescript?
например,

class Animal
  constructor: (@name) ->
    move()

  move: (meters) ->
    alert @name + " moved #{meters}m."

class Snake extends Animal
  move: ->
    alert "Slithering..."
    super 5

sam = new Snake "Sammy the Python"

Это генерирует следующее сообщение об ошибке «ReferenceError: перемещение не определено»

Ответы [ 2 ]

36 голосов
/ 08 августа 2011

Это возможно. Однако для ссылки на метод, который вы должны использовать @move() или this.move(), само имя move() недостаточно.

4 голосов
/ 24 ноября 2015

Оповещение о получении: если вы обнаружите, что @ или это НЕ относится к новому экземпляру в конструкторе, убедитесь, что вы помните использовать ключевое слово NEW:

instance = new Class()

NOT:

instance = Class()

Это застало меня врасплох и очень расстроило.Надеюсь, это поможет кому-то еще!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...