在 JavaScript 裡複製物件的新選項
前言
在傳統的 JavaScript 裡要複製物件的內容必須自己寫一個列舉每個成員並複製的方法,也是我一直以來用的方式,但最近發現物件本身已有提供複製的方法,在此把學習的過程做個紀錄。
內容
範例如下
let obj = {
str : "String",
num : 1234,
};
let obj1 = {
num : 12345,
};
let dstObj = {
data : "data"
};
//
Object.assign( dstObj , obj );
console.log( dstObj);
// [object Object] {
// data: "data",
// num: 1234,
// str: "String"
// }
//
console.log( Object.assign( dstObj , obj , obj1 ) );
// [object Object] {
// data: "data",
// num: 12345,
// str: "String"
// }
複製是透過 Object.assign() 來達成,用法很簡單,第一個參數是要複製到的目標物件,第二個參數則是複製的來源物件,範例的第二次使用時示範了複製多個來源物件,來源物件是 "obj" 與 "obj1",要注意最後的結果 "num"是 12345 ,這代表著它是按照樹入的順序來複製的! Object.assign() 本身會回傳數值,回傳的數值就是輸入的第一個參數,第二次使用就直接用回傳結果作為輸出。
沒有留言:
張貼留言