廢話不多說,直接上代碼:
var o1 = { a: 1 }; var o2 = { b: 2 }; var o3 = { c: 3 }; var obj = Object.assign(o1, o2, o3); console.log(obj); // { a: 1, b: 2, c: 3 } console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目標對象自身也會改變。
*對於上文對象自身也會變化的問題其實有一個很簡單的解決辦法:
聲明一個空的對象,作為assign的第一個參數:
var emptyObj = {}; Obj.assign(emptyObj,o1,02,o3);//這樣合並的結果就不會改變o1,o2,o3了;
打完收工。