Jquery 如何在typescript中进行深度复制
我在typescript中有一个对象:Jquery 如何在typescript中进行深度复制,jquery,typescript,Jquery,Typescript,我在typescript中有一个对象: export class A { public var1: boolean = false; public var2: boolean = false; public b: B = new B(); } 和声明并存在对象: ... public a: A = new A(); ... 当我使用jQuery时: const myCopy: A = $.extend(true, {}, this.a); this.a.b.v = true; 当我更
export class A {
public var1: boolean = false;
public var2: boolean = false;
public b: B = new B();
}
和声明并存在对象:
...
public a: A = new A();
...
当我使用jQuery时:
const myCopy: A = $.extend(true, {}, this.a);
this.a.b.v = true;
当我更改变量对象this.a时,我在副本中看到更改。
在这种情况下如何进行深度复制。您可以使用三重
let b = new A();
const mCopy = {...b};
或者可以使用json stringify和json parse
const mCopy=JSON.parse(JSON.stringify(target
) 您可以使用三重
let b = new A();
const mCopy = {...b};
或者可以使用json stringify和json parse
const mCopy=JSON.parse(JSON.stringify(target
) 但是,当它将原始对象(A)的对象(B)中的布尔值更改为true时,在副本中我看到了此更改。您可以尝试json stringify,json parseSpread不会进行深度复制。但是,当它将原始对象(A)的对象(B)中的布尔值更改为true时,在副本中我看到了这一变化。您可以尝试json stringify,json parseSpread不会进行深度复制。