2016-07-29 19 views
1

以下のコードでは、Parentクラスからbar()にアクセスするにはどうすればよいですか?子クラスのES6アクセス関数

class Parent{ 
    constructor(){ 

    } 

    foo(){ 
     this.bar() // not defined 
    } 
} 

class Child extends Parent{ 
    constructor(){ 
     super(); 
    } 

    bar(){ 

    } 
} 
+1

'Parent'クラスがわかりませんそれを拡張する「子」に関する何か。 –

+0

@DmitriPavlutinしかし、それは...悲しい。とにかくあなたに感謝:) – CENT1PEDE

+0

とそれは子供が親に関するすべてを知っていることを言及する価値がある –

答えて

0

Parentものではありませんあなたがやったとおりにそれにアクセスしますが、それは実際にthis上で定義されるために、あなたはChildインスタンスを作成する必要があります。

var c = new Child(); 
c.bar() // works 
c.foo() // calls c.bar() as well 
+0

まあ、意味がある、私は私の質問は間違っていると思う、申し訳ありません。私が必要とする正確なユースケースは 'Parent'クラスの内部で使用することです。私は再度申し訳ありません質問を更新しました。 – CENT1PEDE

+0

@TheGreenFoxx: 'Parent'インスタンスで' bar'が必要な場合、 'Parent'クラスでメソッドを宣言する必要があります。 'Child.prototype.bar'を直接参照することは可能ですが、' Parent'でのその使用法はすべての良いプラクティスと設計原則に反するでしょう。 – Bergi

関連する問題