1.使用Object.assign(newObj, oldObj);
只深拷贝了oldObj的第一层,之后的层级仍是浅拷贝。
如:oldObj = {a:1, b: 2}; 此时深拷贝没问题
如:oldObj = {a:1, b: { c: 4 }}; 此时newObj.a和newObj.b都不会影响oldObj,但newObj.b.c则会影响oldObj。
2.使用“…”扩展运算符,细节同上
3.使用JSON.parse(JSON.stringify(oldObj));
对象内的值为undefined、function、symbol时,会丢失。
如下图: