Ответ 1
Это возможно. Однако, чтобы ссылаться на метод, вы должны использовать @move()
или this.move()
, самого имени move()
недостаточно.
Можно ли вызвать метод из конструктора в 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: move is not defined"
Это возможно. Однако, чтобы ссылаться на метод, вы должны использовать @move()
или this.move()
, самого имени move()
недостаточно.
Gotcha Alert: если вы обнаружите, что @или это НЕ относится к новому экземпляру в конструкторе, проверьте, не запомнили ли вы использовать ключевое слово NEW:
instance = new Class()
НЕ
instance = Class()
Это поймало меня и было очень неприятно. Надеюсь, это поможет кому-то еще!