2011-08-08 2 views
24

Coffeescriptのコンストラクタからメソッドを呼び出すことはできますか?
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を:移動が定義されていない」発生していることが可能である

答えて

35

。ただし、方法を参照するには、@move()またはthis.move()を使用する必要があります。名前はmove()で十分ではありません。

3

ガッチャ警告:

instance = new Class() 

ないで:

instance = Class() 

あなたがまたはこれがコンストラクタで新しいインスタンスを参照していない@、確認することを発見した場合、あなたは、NEWキーワードを使用することを思い出しましたこれは私を捕まえて本当にイライラしていた。これが他の人に役立つことを願っています

関連する問題