ไม่ว่าจะภาษาไหน memory life cycle เหมือนกัน
- จัดสรรหน่วยความจำที่ต้องการ
- ใช้หน่วยความจำที่จัดสรร (อ่าน, เขียน)
- ปล่อยหน่วยความจำเมื่อไม่จำเป็นแล้ว
ส่วนที่สอง explicit ในทุกภาษา ส่วนที่หนึ่งและสาม explicit ใน low-level languages เช่น C แต่ implicit ใน high-level languages เช่น JavaScript
ดังนั้น ไม่มี explicit way จัดสรรหรือปล่อยหน่วยความจำใน JavaScript เพียงแค่สร้างออบเจ็กต์ก็จัดสรรหน่วยความจำ เมื่อตัวแปรออกจาก scope จะถูก garbage collected อัตโนมัติ
ตัวอย่าง
function test() { // Allocate and use the memory let x = { name: "John", age: 24 } console.log(x); return null; // As soon as the method goes out of scope, it is garbage collected // and it's memory freed. } test();รอบนี้เกิดขึ้นทุกครั้งที่เรียกเมธอด