の Object.assign() メソッド 1 つ以上のソース オブジェクトからターゲット オブジェクトに値とプロパティをコピーするために使用されます。ソースで [[Get]] とターゲットで [[Set]] の両方を使用するため、ゲッターとセッターを呼び出します。
構文:
Object.assign(target, ...sources);>
パラメーター:
- 目標 : 値とプロパティをコピーする必要があるターゲット オブジェクトです。
- ソース : 値とプロパティのコピー元となるソース オブジェクトです。
戻り値:
Object.assign() ターゲットオブジェクトを返します。
例 1: この例では、オブジェクト obj1 のプロパティ、つまり { a: 10 } がターゲット オブジェクト new_obj にコピーされます。
JavaScript
// creating an object constructor> // and assigning values to it> const obj1 = { a: 1 };> // creating a target object and copying values and> // properties to it using object.assign() method> // Here, obj1 is the source object> const new_obj = Object.assign({}, obj1);> // Displaying the target object> console.log(new_obj);> |
年月
>
>
出力:
Object { a: 1 }>
例 2: この例では、3 つのソース オブジェクト obj1、obj2、obj3 のプロパティがターゲット オブジェクト new_obj にコピーされます。前のオブジェクトに存在していた既存のキーと値のペアの値は上書きされます。たとえば、値が 10 の obj1.b は、値が 20 の obj2.b で上書きされます。
JavaScript
// creating 3 object constructors and assigning values to it> let obj1 = { a: 10 };> let obj2 = { b: 20 };> let obj3 = { c: 30 };> // Creating a target object and copying values> // and properties to it using object.assign() method> let new_obj = Object.assign({}, obj1, obj2, obj3);> // Displaying the target object> console.log(new_obj);> |
>
抽象メソッド
>
出力:
Object { a: 10, b: 20, c: 30 }>
例 3: この例では、3 つのソース オブジェクト obj1、obj2、obj3 のプロパティがターゲット オブジェクト new_obj にコピーされ、ターゲット オブジェクトは上書きされた値を取得します。
JavaScript
Java文字列の長さ
// Creating 3 object constructors and assigning values to it> let obj1 = { a: 10, b: 10, c: 10 };> let obj2 = { b: 20, c: 20 };> let obj3 = { c: 30 };> // Creating a target object and copying values and> // properties to it using object.assign() method> let new_obj = Object.assign({}, obj1, obj2, obj3);> // Displaying the target object> console.log(new_obj);> |
>
>
出力:
Object { a: 10, b: 20, c: 30 }>
説明:
上記のコードでは、プロパティは、後で同じパラメータの順序で同じプロパティを持つ他のオブジェクトによって上書きされます。
アプリケーション:
- Object.assign() オブジェクトのクローンを作成し、同じプロパティを持つオブジェクトをマージするために使用されます。
エラーと例外 :
- プロパティが書き込み不可能な場合は、TypeError が発生します。
- ターゲット オブジェクトは、エラーが発生する前にプロパティが追加された場合にのみ変更できます。
- Object.assign() null または未定義のソース値をスローしません
JavaScript オブジェクト メソッドの完全なリストがあります。これらを確認するには、これを参照してください。 JavaScript オブジェクトの完全なリファレンス 記事。
サポートされているブラウザ:
- Google Chrome 6.0以降
- Internet Explorer 9.0以降
- Mozilla 4.0以降
- Opera 11.1 以降
- Safari 5.0以降