use*_*455 4 javascript json object
使用JSON.parse(JSON.stringify(obj))是我见过很多用于深度复制对象的老技巧。它是否创建了对象的真正“深层复制”?从性能角度来看,使用它是否明智?
使用此方法深度复制对象的最大问题是该对象必须是 JSON 可序列化的。例如,以下对象:
let obj = {
func: function() {
console.log("hello world!");
}
}
Run Code Online (Sandbox Code Playgroud)
由于函数不可 JSON 序列化,因此无法正确复制。还有许多其他问题,例如循环引用。这实际上只适用于简单、普通的对象,因此不是一个特别好的解决方案。我建议检查下划线或 lodash 之类的东西以实现高性能深度复制。