Учу JS по современному учебнику JS (дошел до 176 страницы) и впал в ступор. Хотел понять как работает функция в теме про очистку мусора и не смог руками создать взаимосвязанные объекты как в ней. То есть вообще не понял я как она это делает. Можете (если не лень) написать код, который генерирует функция и немного подробнее описать для меня как она работает по шагам - то есть что создает в начале как это все вкладывает друг в друга. Отладчиком я пользоваться пробовал но там какая-то зацикленность происходит вложенности, не понятно все равно как это руками сделать в одном объекте. Привожу пример кода и того (ниже комментариев, что пытался изваять я).
"use strict"
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
console.log(family);
// Не знаю как верхнее написать руками. Нижнее - то, что пытался сделать я.
let family2 = {
father: {
name: "John",
wife: mother,
},
mother: {
name: "Ann",
husband: father,
}
}