प्रोग्रामिंग भाषा की परवाह किए बिना, मेमोरी लाइफ साइकल लगभग हमेशा समान होता है:
- आपको जितनी मेमोरी चाहिए आवंटित करें
- आवंटित मेमोरी का उपयोग करें (पढ़ें, लिखें)
- जब इसकी आवश्यकता न हो तो आवंटित मेमोरी रिलीज़ करें
दूसरा भाग सभी भाषाओं में स्पष्ट है। आवंटित मेमोरी का उपयोग डेवलपर द्वारा किया जाना चाहिए।
पहला और अंतिम भाग C जैसी निम्न-स्तरीय भाषाओं में स्पष्ट हैं लेकिन JavaScript जैसी उच्च-स्तरीय भाषाओं में ज्यादातर निहित हैं।
इसलिए JavaScript में मेमोरी आवंटित करने या मुक्त करने का कोई स्पष्ट तरीका नहीं है। बस ऑब्जेक्ट्स को इनिशियलाइज़ करने से उनके लिए मेमोरी आवंटित हो जाती है। जब वेरिएबल स्कोप से बाहर चला जाता है, तो यह स्वचालित रूप से गार्बेज कलेक्ट हो जाता है (उस ऑब्जेक्ट द्वारा ली गई मेमोरी मुक्त हो जाती है।)
उदाहरण
function test() { // मेमोरी आवंटित करें और उपयोग करें let x = { name: "John", age: 24 } console.log(x); return null; // जैसे ही मेथड स्कोप से बाहर जाता है, यह गार्बेज कलेक्ट हो जाता है // और इसकी मेमोरी मुक्त हो जाती है। } test();
टिप्पणियों में उल्लिखित साइकिल हर बार मेथड कॉल होने पर चलती है।