JavaScript ใช้ garbage collection อัตโนมัติ ตัวเก็บขยะใช้อัลกอริทึมแบบ mark-and-sweep: เริ่มจาก root (global object และ call stack ปัจจุบัน) มันจะมาร์กทุกอย่างที่ เข้าถึงได้ (reachable) แล้วคืนหน่วยความจำของทุกอย่างที่เข้าถึงไม่ได้ คุณไม่ต้องเรียก free() เองเลย — แต่คุณ อาจ เผลอทำให้ reference ยังคงมีชีวิตอยู่โดยไม่ตั้งใจ ซึ่งทำให้เกิด leak
