Usamos la delete cuando necesitamos eliminar la referencia del objeto. Pero, ¿hay alguna forma en JS de eliminar todo el objeto y todas las referencias?
Ejemplo:
let obj = { a: 3 } let arr = [obj]; let brr = [obj]; Si cambiara los elementos obj en las matrices, también se cambiarían. Además, puedo usar delete arr[0] para eliminar la referencia. Pero quiero eliminar el obj y quiero que también se eliminen los elementos de las matrices.
Algo como:
// Before: let obj = { a: 3 } let arr = [obj]; let brr = [obj]; arr.length==1 // true brr.length==1 // true // Deleting: delete(obj) // After: arr.length==0 // true brr.length==0 // trueNo.
La única forma de eliminar un objeto en JavaScript es ubicar y eliminar cada referencia a él.
No existe un mecanismo genérico para comenzar con un objeto y eliminar automáticamente todas las referencias a él.