浅拷贝和深拷贝

浅拷贝:Object.assign

    eg: let a = {age: 28};

       let b = Object.assign({}, a);

    或者

    eg: let a = {age: 28};

       let b = {...a}

    但是,如果 源对象中的属性值为对象的话,那么拷贝的也为这个属性值对象所指向的内存地址,那么浅拷贝就不适用了。

深拷贝:

     方法一:JSON.parse(JSON.stringify(object))

     局限性:1. 忽略 undefined

         2. 忽略symbol

         3. 不能序列化函数

         4. 不能解决循环引用的对象

     方法二:推荐lodash的cloneDeep()函数

       

 

posted @ 2019-04-26 11:30  君房先生  阅读(161)  评论(0)    收藏  举报