scusate ma che c'entra il fatto di permettere tante cose "strane" o il debolmente tipizzato ?

qui si parla di garbage collector e non di altro.

var myarray = new Array();
myarray.push("some string");


svuoto l'array:
myarray = new Array(); // array vuoto

elimino l'array:
delete myarray; // ma se devo riusarla non ha senso



l' operazione di riassegnazione a stesso elemento vuoto ( = new Array() ) si fa in JavaScript come in C#, Java, Python e tutti i "fortemente tipizzati" o linguaggi che hanno una garbage collections.

In C è allo stesso modo possibile farlo, deallocando memoria senza cambiare il tipo di dato o, probabilmente, riassegnando ad elemento vuoto dello stesso tipo.