オブジェクト定義コピー
オブジェクト定義のコピーです。つまり、オカレンス コピーのようにオカレンスだけでなく、オブジェクト全体のコピーです。
定義コピーにより新規オブジェクトが作成されます。定義コピーの作成時に作成されるオカレンスは、新規オブジェクトを参照します。
オブジェクトのコピーを作成できます。 オブジェクトをコピーするとき、新しいオブジェクトを作成するか (定義コピー)、既存のオブジェクトの新しいオブジェクト シンボルを作成するか (オカレンス コピー) を指定できます。
新しいオブジェクトにソース オブジェクトのプロパティと類似したプロパティを設定する場合は、既存のオブジェクトの定義コピーを作成すると便利です。
たとえば、「工場 1」というオブジェクトをモデル作成し、プロパティを指定したとします。その後、工場 1 とプロパティが似ている工場 2 というオブジェクトを作成するとします。この場合、工場 1 のオブジェクト定義コピーを作成することが推奨されます。オブジェクト定義コピーを作成すると、工場 2 は工場 1 とプロパティがすべて同じですが、独立した存在になります。そのあと、オブジェクト「工場 1」のプロパティとは異なるプロパティを変更するだけで済みます。たとえば、名前を「工場 2」に変更します。
この方法を使用すると、オブジェクトを新規に作成し、プロパティをすべて再入力する手間が省けます。
定義コピーを作成するときに、一部の属性はコピーされません。たとえば、識別子はオブジェクトの一意の ID を表しているため、オブジェクトの識別子をコピーすることには意味がありません。