如何在javascript中创建指向对象属性的指针?

cis*_*iso 5 javascript

如果我有这样的对象:

obj = {a:{aa:1}, b:2};
Run Code Online (Sandbox Code Playgroud)

我想创建一个快捷变量(指向obj.a.aa的指针)x,如下所示:

x = obj.a.aa;
Run Code Online (Sandbox Code Playgroud)

然后我想使用x将值3分配给obj.a.aa,如下所示:

x = 3;  // I would like for obj.a.aa to now equal 3
console.log(obj.a.aa); // 1  (I want 3)
Run Code Online (Sandbox Code Playgroud)

如何将x设置为导致值3进入obj.a.aa?

我知道obj.a.aa是一个原始的,但是如何定义一个指向它的变量,然后我可以使用它来为属性赋值?

小智 8

你不能使用x = value,因为它不会保留任何引用,只是一个副本.您必须引用父分支才能这样做:

x = obj.a;
Run Code Online (Sandbox Code Playgroud)

然后设置值:

x.aa = 3;
Run Code Online (Sandbox Code Playgroud)