Answer
t.me/js_testОтвет:
12 12 undefined
Объяснение:
Оператор delete удаляет только ссылку на объект для указанного свойства объекта. Если же значение, которое было указано в поле является объектом на который имеются другие ссылки, то объект не будет выгружен из памяти сборщиком мусора. Поэтому мы все еще можем обратиться к значениям в motherObject и childObject.
Код для проверки:
childObject = { i: 12 };
motherObject = { mother: childObject };
tree = { someone: { grandpa: motherObject } };
delete tree.someone
console.log(childObject?.i)
console.log(motherObject?.mother?.i)
console.log(tree?.someone?.grandpa?.mother?.i)