JavaScript usa recolección automática de basura (garbage collection). El recolector utiliza un algoritmo de mark-and-sweep: partiendo de las raíces (el objeto global, la pila de llamadas actual), marca todo lo alcanzable y luego libera todo lo inalcanzable. Nunca haces free() manualmente — pero sí puedes mantener referencias vivas accidentalmente, causando fugas.
