JSON 序列化深拷贝
通过 JSON.parse(JSON.stringify(...)) 实现深拷贝。 无法处理循环引用、BigInt、undefined、函数、Symbol 等值。 若 JSON.stringify 抛异常(如循环引用),自动降级调用 cloneObjectByAssign 做浅拷贝兜底。
JSON.parse(JSON.stringify(...))
BigInt
undefined
Symbol
JSON.stringify
— 要拷贝的对象
深拷贝后的新对象,或降级后的浅拷贝
当 obj 为 null 或非 object 类型时
const copy = cloneObjectByJson({ a: { b: 1 } });copy.a.b = 99;// 原对象不受影响 Copy
const copy = cloneObjectByJson({ a: { b: 1 } });copy.a.b = 99;// 原对象不受影响
JSON 序列化深拷贝
通过
JSON.parse(JSON.stringify(...))实现深拷贝。 无法处理循环引用、BigInt、undefined、函数、Symbol等值。 若JSON.stringify抛异常(如循环引用),自动降级调用 cloneObjectByAssign 做浅拷贝兜底。