JavaScript › Memory Management & Garbage Collection

How does JavaScript decide when to free memory used by an object?

Beginner

Answer

JavaScript uses automatic garbage collection: an object's memory is reclaimed once it becomes unreachable — meaning no live reference chain from the global scope, active call stack, or closures leads to it anymore. You never manually free memory like in C.
let obj = { data: 'large' };
obj = null; // no more references -> eligible for garbage collection
Real-world example Understanding why setting a variable to null can help release a large object sooner, though it's rarely required.

Common follow-ups: Does setting a variable to null immediately free the memory?