在面试中你是否遇到过如下场景:
Q:小朋友,你是否了解如何拷贝一个对象?
R:此时,机智的你可能会想到
Object.assign({}, obj);
Q:那如何深拷贝一个对象呢?
R:机智的你
JSON.parse(JSON.stringify(obj));
Q:使用stringify这种方式有何弊端?
性能问题,stringify再解析其实需要耗费较多时间,特别是数据量大的时候。
一些类型无法拷贝,例如函数(不输出),正则(输出空对象),时间对象(输出时间字符串),Undefiend(不输出)
遇到循环引用的对象会出错
同层(非同层)同引用的问题,理论下两个key对应的