Hallo derletztekick,
delete löscht keine Objekte, sondern Variable.
Wenn man schreibt:
var x = new Array(...);
var y = x;
delte x;
dann existiert nach dem delete das Array-Objekt weiter, denn es gibt noch eine Referenz darauf, nämlich durch die Variable y; die Variable x ist danach undefined.
Erst wenn
delete y;
ausgeführt wird, wird das Array-Objekt als _Nebeneffekt_ zerstört.
Warum?
'Delete y' löscht die Variable y, was implizit den Referenzzähler des Array-Objektes auf 0 herunter zählt. Wenn der Referenzzähler eines Objektes 0 erreicht hat, wird es automatisch zerstört.
Gruß,
Houyhnhnm