JavaScript خودکار garbage collection استعمال کرتا ہے۔ collector ایک mark-and-sweep algorithm استعمال کرتا ہے: roots (global object، موجودہ call stack) سے شروع کر کے، یہ ہر reachable چیز کو mark کرتا ہے، پھر ہر ناقابلِ رسائی چیز کو آزاد کر دیتا ہے۔ آپ کبھی دستی طور پر free() نہیں کرتے — مگر آپ غلطی سے references کو زندہ رکھ سکتے ہیں، جس سے leaks ہوتے ہیں۔
