次のコードがあります。
class Animal
constructor: (@name) ->
say: () -> console.log "Hello from animal called #{ @name }"
class Dog extends Animal
say: () ->
super.say()
console.log "Hello from dog called #{ @name }"
a = new Animal('Bobby')
a.say()
d = new Dog("Duffy")
d.say()
結果はそうではありません
Hello from animal called Bobby
Hello from animal called Duffy
Hello from dog called Duffy
しかし、次のエラーが表示されます。
Hello from animal called Bobby
Hello from animal called Duffy
Uncaught TypeError: Cannot call method 'say' of undefined
super が定義されていないのはなぜですか? それを拡張するために親メソッドを呼び出す方法は? ありがとう