浅拷贝:Object.assign

    eg: let a = {age: 28};

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

       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()函数

       

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄