克隆JavaScript对象的最有效方法是什么?我已经看到obj = eval(uneval(o));被使用,但这是非标准的,只有Firefox支持.
我做过类似的事情,obj = JSON.parse(JSON.stringify(o));但质疑效率.
我也看到了具有各种缺陷的递归复制功能.
我很惊讶没有规范的解决方案.
我需要在TypeScript中深度克隆一个对象.这应该不是问题,因为像Lodash这样的库提供了适当的功能.但是,这些似乎丢弃了类型信息.
> var a = new SomeClass();
> a instanceof SomeClass;
< true
> var b = _.cloneDeep(a);
> b instanceof SomeClass;
< false
Run Code Online (Sandbox Code Playgroud)
有没有办法在保留此类型信息的同时克隆TypeScript中的对象?