繁体   English   中英

如果子对象更改,父对象引用是否会更改?

[英]Is the parent object reference changed if a child object is changed?

假设我有这个

let a = { data: 'old' }

假设 a 引用了“123”

如果我做

a.data = 'new'

a 的引用仍然指向“123”还是已重新分配?

谢谢

你可以为此做一个非常简单的测试:

let a = { data: "something" };
let b = a;

现在ab是对完全相同的对象的引用。

a.data = "something else";
console.log(a === b); // true

分配给属性不会影响a的值。 还:

console.log(b.data); // "something else"

假设,如果a指向“123”,您可以假设a.data指向“456”。

a->123

a.data -> 456

现在,当您将a.data更改为“新”时(例如现在在 789),您更改了a.data的指针,因此a将继续指向旧值。

a->123

a.data->789

ReactJS 特有的:这就是为什么在处理对象状态时,如果更改深层对象键,react 可能不会重新渲染,因为父引用没有改变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM