4
I am reading a book about data structure in Javascript and came across the following situation: why delete
does not delete a reference value? I will give an example to be clear.
const items = { a: 1, b: { x: 2 } };
const b = items.b; // Note que `b` não é primitivo, mas sim uma referência
items.b.x = 'changed';
// Por ser uma referência, `items.b` e `b` apontam para o mesmo lugar
console.log(items.b); // { x: "changed" }
console.log(b); // { x: "changed" }
delete items.b; // Por que isso não deleta tudo?
console.log(items.b); // undefined
console.log(b); // { x: "changed" } -- Não deletou
On the last line, why the value of b
remained intact instead of resulting in undefined
, since the value has been deleted?