Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Giải phóng bộ nhớ trong JavaScript

JS quản lý bộ nhớ **tự động (automatic memory management)** qua Garbage Collector (GC). Không có cách explicit free memory như C/C++ (free(), delete).

Vòng đời bộ nhớ

  1. Allocate: Khởi tạo object → JS cấp phát memory.
  2. Use: Đọc/ghi property, method.
  3. Release: Khi variable **out of scope** hoặc không còn reference → GC thu hồi.

Ví dụ

function test() {
  let x = { name: "John", age: 24 }; // allocate
  console.log(x);                     // use
  return null;                        // x out of scope → GC reclaim
}
test();

Ép GC (không khuyên dùng)

  • Gán null cho variable global/long-lived: bigObj = null;
  • Dùng WeakMap/WeakSet/WeakRef cho cache không cản GC.

Lưu ý: Không gọi GC thủ công được. Tin tưởng engine (V8, SpiderMonkey, JavaScriptCore) — chúng tối ưu rất tốt.