I thought objects are passed as reference. But when I delete b, it still exists in c. Please see this example:
This first part makes sense
...I am late to the party? Here is my take on explaining it (Read the other answers as well, this is just to support those answers with a visual representation):
a with another object (value:true).
a with a property b referring to the other object (value:true).
a with a property c referring to the same object (value:true).
b, thus a.b no longer refers to the sub-object (value:true).
a.
So we can easily see by visual representation how the sub-object was being preserved :)