为了账号安全,请及时绑定邮箱和手机立即绑定

父子关系和在对象查看器中导航

父子关系和在对象查看器中导航

慕容708150 2021-08-26 20:09:34
当我查看用 JavaScript 编写的父子关系时,您可以无限浏览对象,这是一个问题吗?以以下为例class Parent {    constructor() {      this.child = null;    }}class Child {    constructor() {      this.parent = null;    }}let p1 = new Parent();let c1 = new Child();p1.child = c1;c1.parent = p1;在浏览对象时在 Chrome 中查看此对象时,您可以无限地迭代它,这很明显,但这是不好的做法,是否有另一种方法可以在 JavaScript 中编写父/子关系?孩子-> 父母-> 孩子-> 父母-> 孩子-> 父母-> 孩子-> 等等...
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

这是对象通过引用而不是通过值传递的自然效果。


const x = {

  a: 'INITIAL',

  b: 'INITIAL',

}


const y = {

  x,

  cloneX: { ...x }

}


console.log(y)

x.a = 'CHANGED'

console.log(y)

从查看问题和您的评论来看,这听起来好像对您来说不太新。


但是我们知道变量是通过引用传递的,我们可以看出,一旦您认为父/子值只是指针,您在控制台中看到的内容是相当自然的,因此您自然可以继续关注他们。


然而,这并不意味着会有任何类型的内存问题,因为代码不会保留无限系列的对象副本;每个只存储一个引用,在这种情况下它恰好是循环的。


查看完整回答
反对 回复 2021-08-26
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信