Vòng đời bộ nhớ bất kỳ ngôn ngữ nào:
- Cấp phát (Allocate)
- Sử dụng (Read/Write)
- Giải phóng (Release) khi không cần
JS là high-level language: cấp phát và giải phóng ngầm (implicit).
Ví dụ
function test() {
// Cấp phát & dùng
let x = { name: "John", age: 24 };
console.log(x);
return null;
// Khi hàm kết thúc (out of scope), x bị GC thu hồi tự động
}
test();
Mỗi lần gọi hàm, chu trình lặp lại. Tương tự cho scope toàn cục.
Lưu ý: Không có cách explicit free memory trong JS. Chỉ cần để biến ra khỏi scope hoặc gán null để GC dọn dẹp.