簡體   English   中英

父子關系和對象查看器中的導航

[英]parent-child relationships and navigating in object viewer

當我查看用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編寫父/子關系嗎?

在此處輸入圖片說明

孩子->父母->孩子->父母->孩子->父母->孩子->等等...

這是對象通過引用而不是通過值傳遞的自然效果

 const x = { a: 'INITIAL', b: 'INITIAL', } const y = { x, cloneX: { ...x } } console.log(y) xa = 'CHANGED' console.log(y) 

通過查看問題和您的評論,聽起來好像這對您來說並不是特別新鮮。

但是,我們可以知道變量是通過引用傳遞的,因此,一旦您認為父/子值只是指針,您在控制台中看到的內容就很自然了,因此您自然可以繼續關注他們。

但是,這並不意味着會存在任何類型的內存問題,因為代碼不會保留對象的無限數量的副本。 每個都只存儲一個引用,在這種情況下它只是循環的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM