寄生コンストラクター パターン
一般に、前述のパターンのいずれも適用できない場合は、寄生コンストラクター パターンを使用できます。このパターンの基本的な考え方は、オブジェクトを作成するコードを単純にカプセル化し、新しく作成されたオブジェクトを返す関数を作成することですが、表面的には、この関数は典型的なコンストラクターのように見えます。以下に例を示します。
function Person(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.sayName = function(){ alert(this.name); }; return o; } var friend = new Person("Nicholas", 29, "Software Engineer"); friend.sayName(); //"Nicholas"
この例では、 Person 関数は新しいオブジェクトを作成し、対応するプロパティとメソッドでオブジェクトを初期化し、オブジェクトを返します。このパターンは、new 演算子が使用され、使用されるラッパー関数がコンストラクターと呼ばれることを除いて、ファクトリ パターンとまったく同じです。コンストラクターが値を返さない場合、デフォルトで新しいオブジェクト インスタンスを返します。
安全なコンストラクター パターン
いわゆる安全なオブジェクトとは、パブリック プロパティを持たず、そのメソッドがこれを参照しないオブジェクトを指します。安定したオブジェクトは、一部の安全な環境 (this および new の使用が禁止されている環境) で使用するか、他のアプリケーション (マッシュアップ プログラムなど) によってデータが変更されるのを防ぐために使用するのが最適です。安全なコンストラクターは寄生コンストラクターと同様のパターンに従いますが、2 つの違いがあります。1 つ目は、新しく作成されたオブジェクトのインスタンス メソッドがこれを参照しないこと、2 つ目は、コンストラクターが new 演算子を使用して呼び出されないことです。安定したコンストラクターの要件に従って、以前の person コンストラクターを次のように書き換えることができます。
りー以上がJavaScriptの寄生コンストラクタパターンと安全なコンストラクタパターンの例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。