[英]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.