私はSub.prototype =新しいベース()javascriptオブジェクトのプロトタイプを変更する2つの方法は、それらの違いは何ですか?
場合、私は、知りたいのjavascript
var Base=function(){this.a='abc'}; var Sub = function() {}; Sub.prototype = new Base(); // note: this pattern is deprecated! //Because we used 'new', the [[prototype]] property of Sub.prototype //is now set to the object value of Base.prototype. //The modern way to do this is with Object.create(), which was added in ECMAScript 5: Sub.prototype = Object.create(Base.prototype);
に "継承" を実装する方法を示しており、stackoverflowのからのコードのこの部分を読んで、
は廃止され、新たな方法
Object.create(Base.prototype)はありません。
作成されるオブジェクトの内部の相違を導入しますか?任意の内部プロパティの違い、動作の違い、私は新しい方法を使用して、古いコードを新しいコードに変換しようとしますか?
ありがとうございました。
)
Base.prototype
aswellに追加します。createはBase関数を呼び出さない。この関数をプロトタイプとして設定し、プロトタイプチェーンを設定するだけです。 –