JavaScript の継承: Object.create と new
JavaScript の継承の概念は、実現するにはさまざまなアプローチがあるため、混乱を招く可能性があります。それ。この記事の目的は、最も受け入れられているメソッドを明確にし、特定のシナリオに対する解決策を提供することです。
Object.create と new について
Object.create は、既存のオブジェクトを継承して新しいオブジェクトを作成します。これは、基本オブジェクトを作成し、それを追加のプロパティとメソッドで拡張する場合に便利です。 Object.create の構文は次のとおりです。
Object.create(prototype[, propertiesObject])
一方、 new キーワードは、オブジェクトの新しいインスタンスを作成し、そのコンストラクター関数を呼び出すために使用されます。 new の構文は次のとおりです。
new ConstructorFunction([arguments])
継承のための適切なメソッドの選択
Object.create と new のどちらを選択するかは、特定の要件によって異なります。 Object.create は、コンストラクターを呼び出さずに継承元となる基本オブジェクトを作成するのに最適です。例:
const Model = { // Base object properties and methods... }; const RestModel = Object.create(Model);
ただし、継承オブジェクトで基本オブジェクトのコンストラクター関数を呼び出したい場合は、new を使用する必要があります。例:
function Model() { // Base object constructor... } function RestModel() { Model.call(this); // Additional properties and methods... }
シナリオのソリューション
あなたの場合、Model ベース オブジェクトから RestModel を継承したいとします。 Object.create を使用してこれを実現するには、次の手順を実行します。
RestModel.prototype = Object.create(Model.prototype);
これにより、Model プロトタイプを継承する新しい RestModel プロトタイプが作成されます。
以上がJavaScript の継承のために new ではなく Object.create を選択するのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。