经典面试:深拷贝和浅拷贝的区别及实现

  1. 浅拷贝

    1. Object.assign方法用于对象的合并,将源对象的所有可枚举属性复制到目标对象,会拷贝所有的属性值到新的对象中,如果属性值是对象(复杂数据类型)的话,拷贝的是地址。

    2. 使用ES6的...展开符。

  2. 深拷贝

    1. JSON.parse(JSON.stringigy(object))

    2. 通常使用这个方法可以解决大部分问题,但是它也有局限性

    3. 会忽略undefined, symbol,function

    4. 不能序列化函数,不能解决循环引用的对象

猜你喜欢

转载自blog.csdn.net/SunFlower914/article/details/121431358