Reputation: 6250
Is it possible to call a method from the constructor in Coffeescript?
e.g.
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"
This is generating the following error message "ReferenceError: move is not defined"
Upvotes: 25
Views: 10489
Reputation: 1369
Gotcha Alert: if you find that @ or this does NOT refer to the new instance in a constructor, check you remembered to use the NEW keyword:
instance = new Class()
NOT:
instance = Class()
This caught me out and was really frustrating. Hope this helps someone else!
Upvotes: 4
Reputation: 129745
It is possible. However, to refer to the method you must use @move()
or this.move()
, the name move()
itself is not enough.
Upvotes: 36