delete family.mother.husband;
delete family.father;
delete family.father;
delete family.mother.husband;
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
function marry(man, woman) {
woman = {
husband: {
name: "John"
}
}
man = {
wife: {
name: "Ann"
}
}
return {
father: {
wife: {
name: "Ann"
}
},
mother: {
husband: {
name: "John"
}
}
}
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
function marry(man, woman) {
woman.husband = man;
man.wife = woman;
return {
father: man,
mother: woman
}
}
let family = marry({
name: "John"
}, {
name: "Ann"
});
delete family.father;
delete family.mother.husband;
return {
father: {
name: "John",
wife: {
name: "Ann"
}
}
mother: {
name: "Ann",
husband: {
name: "John"
}
}
}
let man = { // Создаем объект "мужчина"
name: 'John' // Имя
};
let woman = { // Создаем объект "женщина"
name: 'Ann' // Имя
};
woman.husband = man;
// Создаем свойство "муж" в объекте женщины и присваиваем ему ссылку на объект мужчины
man.wife = woman;
// Создаем свойство "жена" в объекте мужчины и присваиваем ему ссылку на объект женщины
let family = { // Создаем объект "Семья"
father: man, // Тут же создаем свойство "отец" и присваиваем ему ссылку на мужчину
mother: woman // Создаем свойство "мать" и присваиваем ему ссылку на женщину
}
/*
В итоге, вышло как-то так:
family = {
father: { // На самом деле, тут ссылка на объект мужчины
name: 'John',
wife: woman // Тут ссылка на объект женщины
},
mother: { // На самом деле ссылка на объект женщины
name: 'Ann',
husband: man // Ссылка на объект мужчины
}
}
*/
// Дальше...
delete family.father; // Удаляем из объекта семьи ссылку на объект отца, то есть мужчины
/*
Вышло:
family = {
// Тут был father (man), но мы его удалили
mother: {
name: 'Ann',
husband: man // Но тут осталась ссылка на man
}
}
*/
// А теперь...
delete family.mother.husband;
/*
В конечном итоге:
family = {
mother: {
name: 'Ann'
// Теперь тут тоже ничего. На объект мужчины никто не ссылается, теперь он считается мусором
}
}
*/