JavaScript对象,数组的克隆方法

对象的浅克隆

JavaScript对象,数组的克隆方法
ES6 新增了 Object.assign(…),第一个参数是 target,其他传入的参数都是源,它们将按照列出的顺序依次被处理,这个方法的作用是把后面对象的属性和方法复制到target对象中并返回。
这个方法只拷贝对象自身和可枚举的属性,通过继承来的不会拷贝。如果拷贝的属性中包含对象,那么只会拷贝对象的引用,如上:
target.c==a.c//true
这就是浅克隆的一个方法

对象的深克隆

JavaScript对象,数组的克隆方法
通过以上deepClone函数,可以实现对象的深度克隆。
通过深克隆不会克隆origin对象原型上的属性
此时target.a==origin.a//false

数组的深克隆

JavaScript对象,数组的克隆方法
通过上面的deepClone函数 也可以实现数组的深克隆