前端在处理数据时,经常会需要对象的克隆,当使用 = 号赋值一个对象时,这是常见的引用赋值.接收方改变任意属性会直接改变赋值方的值.为了不影响源对象,就有了浅克隆和深克隆!
下面的对象直接用 = 号赋值
1 | let objA = {name: 'YTC', age: '18'} |
使用浅克隆解决问题
1 | 'ES5' |
1 | 'ES6' |
1 | /** |
使用深克隆解决问题
1 | '喵喵喵???' |
总结
1. 使用Object.assign()就可以满足普通业务场景.
2. 需要深克隆,使用转JSON的方法也很方便.