JS函數assign


Object函數提供了一個叫做assign的函數,用來合並多個對象。

Object.assign(...);

你可以傳遞多個對象給該函數,這些對象中的自有且可枚舉的屬性,會被拷貝給第一個對象。

var a={name:'jack'};
var b={age:10};
Object.assign(a,b);
console.log(a) // 'Object {name: "jack", age: 10}'

該方法會修改傳入的第一個對象,所以要小心這種改變,由於,函數會在最后return這第一個對象,

你可以傳一個{},作為函數的第一個實參,這樣剩下對象的自有且可枚舉的屬性,會被拷貝到這個空對象中並返回這個對象,這樣可以避免不需要的修改。

var a={name:'jack'};
var b={age:10};
var c=Object.assign({},a,b);
console.log(c) // 'Object {name: "jack", age: 10}'

對於重復出現的屬性,會被相對於右邊的值覆蓋,因為該函數是從左到右操作參數的。

所以,實參的順序會影響到最終的結果。

var a={name:'jack'};
var b={name:10};
Object.assign(a,b);
console.log(a); // 'Object {name: 10}'

 

 

 

 

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM