【Node.js24.x】Object::assign()メソッドの使い方
assignメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
assignメソッドは、一つ以上のソースオブジェクトから、自身が所有するすべての列挙可能なプロパティをターゲットオブジェクトにコピーすることで、オブジェクトをマージまたは複製するために使用されるメソッドです。
このメソッドの最初の引数はターゲットオブジェクトとなり、二番目以降の引数はコピー元のソースオブジェクトとして機能します。基本的な使い方は、ターゲットオブジェクトに対して、指定されたすべてのソースオブジェクトのプロパティを上書きまたは追加していくことです。例えば、複数の設定オブジェクトを一つにまとめたい場合や、既存のオブジェクトのプロパティを別のオブジェクトにコピーして新しいオブジェクトを作成したい場合に非常に役立ちます。
Object.assign()はシャローコピーを実行します。これは、プロパティの値がプリミティブ型の場合は値そのものがコピーされますが、オブジェクトへの参照である場合は、その参照がコピーされるため、元のオブジェクトとコピー先のオブジェクトが同じ下位オブジェクトを参照することになります。そのため、コピーされたオブジェクトのプロパティ(参照型の場合)を変更すると、元のオブジェクトの同じプロパティも変更される可能性があります。
このメソッドは、変更されたターゲットオブジェクトを返します。プロパティの競合が発生した場合、後のソースオブジェクトのプロパティが前のソースオブジェクトやターゲットオブジェクトのプロパティを上書きします。これにより、オブジェクトの拡張やデフォルト値の設定など、様々な場面で柔軟なオブジェクト操作を可能にします。
構文(syntax)
1const targetObject = { a: 1 }; 2const sourceObject = { b: 2, c: 3 }; 3const resultObject = Object.assign(targetObject, sourceObject);
引数(parameters)
target, ...sources
- target: object: コピー先のオブジェクト
- sources: object: コピー元のオブジェクトを複数指定可能
戻り値(return)
Object
Object.assign() メソッドは、一つ以上のソースオブジェクトから、ターゲットオブジェクトへ全ての列挙可能な自身のプロパティをコピーし、その結果としてターゲットオブジェクトを返します。