2017-09-08 4 views
0

なぜChild.prototype.constructorプロパティを継承後にChildに設定する必要があるのですか。例継承を使用してコンストラクタフィールドをオーバーライドする理由

function Parent(a){ 
    this.a = a; 
} 

function Child(a, b){ 
    Parent.call(this. a); 
    this.b = b; 
} 
Child.prototype = Object.create(Parent.prototype); 
Child.prototype.constructor = Child // 1)** 

のために私たちは、この// 1) **ラインを必要とするのはなぜコンストラクタのインスタンスが// 1) **ライン

なく、同じになりますか?見ての通り

+2

[なぜプロトタイプのコンストラクタを設定する必要がありますか?](https://stackoverflow.com/questions/8453887/why-is-it-necessaryプロトタイプ生成者を設定するための-to-set-the-prototype-constructor) –

答えて

0

エンジンの実装や最適化まで、実際にParent.prototype.constructor

ことですObject.create(Parent.prototype).constructorのインスタンスである必要があり、それは言語構文Child.prototype.constructorによって同じ

すべきではないので。しかし、それは信頼することはできません// 1)行を確認することでした

関連する問題