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