ES6的深拷貝


lodash中的_.clone(obj, true)等價於_.cloneDeep(obj) 兩個方法,lodash花了大量的代碼來實現 ES6 引入的大量新的標准對象.

var obj = { a: {a: "hello"}, b: 33 };
var newObj = _.cloneDeep(obj);
console.log(newObj)

// { a: {a: "hello"}, b: 33 }

  

var obj = { a: {a: "hello"}, b: 33 }; 
var newObj =_.clone(obj, true);
console.log(newObj)

//{ a: {a: "hello"}, b: 33 }

  JSON.parse(JSON.stringify(obj))是最簡單粗暴的深拷貝,能夠處理JSON格式的所有數據類型,但是對於正則表達式類型、函數類型等無法進行深拷貝.

       不管這個對象原來是什么,在深拷貝之后都會變成Object

var obj = { a: {a: "hello"}, b: 33 };
var newObj = JSON.parse(JSON.stringify(obj));
console.log(newObj);

//{ a: {a: "hello"}, b: 33 }

  


免責聲明!

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



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