如何创建同一对象的唯一实例

时间:2019-05-06 00:24:03

标签: javascript object instance

基本上我希望对象不是另一个对象的实例,只是为了复制属性 示例:

let x = {x: 1, y: 2, z: {X: 1, Y: 2}}
let y = x;

x.a = 1 // result y -> {x: 1, y: 2, z: {X: 1, Y: 2}, a: 1}
y.b = 2 // result x -> {x: 1, y: 2, z: {X: 1, Y: 2}, a: 1, b: 2}

x.z.Z = 3 // result -> y {X: 1, Y: 2, Z: 3}
y.z.A = 1 // result -> x {X: 1, Y: 2, Z: 3, A: 1}

我想要:

x.a = 1 // result y -> {x: 1, y: 2, z: {X: 1, Y: 2}}
y.b = 2 // result x -> {x: 1, y: 2, z: {X: 1, Y: 2}, a: 1}

x.z.Z = 3 // result -> y {X: 1, Y: 2}
y.z.A = 1 // result -> x {X: 1, Y: 2, Z: 3}

我知道我在描述我想要的东西时很恐怖,但是我基本上不希望y复制x,反之亦然。

0 个答案:

没有答案