我有一个对象,x.我想把它复制为对象y,这样改变y就不要修改了x.我意识到复制从内置JavaScript对象派生的对象将导致额外的,不需要的属性.这不是问题,因为我正在复制我自己的一个文字构造的对象.
如何正确克隆JavaScript对象?
我想知道它们之间是否有区别
Object.assign({}, obj)
Run Code Online (Sandbox Code Playgroud)
和
JSON.parse(JSON.stringify(obj))
Run Code Online (Sandbox Code Playgroud)
用于深度克隆对象?任何人都可以解释他们是否有任何想法?
我有类的实例:
let i = new I();
Run Code Online (Sandbox Code Playgroud)
在添加到数组之前,我需要克隆它,创建一个副本:
arr.push(i);
Run Code Online (Sandbox Code Playgroud)
我努力了:
Object.assign({}, i)
Run Code Online (Sandbox Code Playgroud)