JavaScript 中的 Object.assign()?
Object.assign()
該方法用於將一個或多個源物件複製到目標物件。由於它對源物件和目標物件分別使用“讀取”和“設定”,因此會呼叫getter 和 setter。該方法返回包含從目標物件中複製的屬性和值的 target 物件。該方法不針對 null 值或 undefined 值引發異常。
語法
Object.assign(target, ...source objects);
需要 source object 和 target object 作為引數,並將 source objects 推送到 target object 中,並顯示 target object。
示例 1
在以下示例中,將來自源物件“obj1”、“obj2”和“obj3”的屬性推送到目標物件“obj”,並將target object 作為輸出返回。
<html>
<body>
<script>
var obj1 = { a: 10, b:20 };
var obj2 = { c: 30, d:40 };
var obj3 = { e: 50 };
var obj = Object.assign({}, obj1, obj2, obj3);
document.write(JSON.stringify(obj));
</script>
</body>
</html>輸出
{"a":10,"b":20,"c":30,"d":40,"e":50}示例 2
在以下示例中,物件的某些屬性存在多個例項。對於這種情況,Object.assign() 方法採用屬性的最新分配值。例如,在所有 3 個物件“obj1”、“obj2”和“obj3”中,屬性“c”都是共通的,並分別分配有值 1、3 和 0。obj3 中屬性“c”的值覆蓋了其他先前分配的值1和3。因此,如果檢視輸出,屬性“c”將被分配值為0。
<html>
<body>
<script>
var obj1 = { a: 10, b:20, c:1 };
var obj2 = { b: 30, d:10, c:3 };
var obj3 = { e: 60, d:70, c:0 };
var obj = Object.assign({}, obj1, obj2, obj3);
document.write(JSON.stringify(obj));
</script>
</body>
</html>輸出
{"a":10,"b":30,"c":0,"d":70,"e":60}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP