কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে WeakMap অবজেক্ট

WeakMap অবজেক্ট

WeakMap-এ কি-ভ্যালু পেয়ার থাকে যেখানে কি অবশ্যই অবজেক্ট হতে হবে। ভ্যালু প্রিমিটিভ বা অবজেক্ট যেকোনো কিছু হতে পারে। WeakMap-এ ব্যবহৃত কি অবজেক্টগুলো যদি অন্য কোথাও রেফারেন্স না থাকে তবে গারবেজ কলেক্ট হয়ে যায়।

উদাহরণ

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
        .result { font-size: 18px; font-weight: 500; color: rebeccapurple; }
    </style>
</head>
<body>
    <h1>জাভাস্ক্রিপ্টে WeakMap অবজেক্ট</h1>
    <div class="result"></div>
    <button class="Btn">WeakMap দেখান</button>
    <h3>উপরোক্ত বাটনে ক্লিক করুন WeakMap অবজেক্ট তৈরি এবং প্রদর্শন করতে</h3>
    <button class="Btn">REMOVE</button>
    <h3>উপরোক্ত বাটনে ক্লিক করুন WeakMap কি রেফারেন্স মুছে ফেলতে</h3>
    <script>
        let resultEle = document.querySelector(".result");
        let btnEle = document.querySelectorAll(".Btn");
        let personObj = { name: "Rohan Sharma", age: 22, class: 9 };
        let WeakMap1 = new WeakMap();
        WeakMap1.set(personObj, "Rohan Object");
        btnEle[0].addEventListener("click", () => {
            resultEle.innerHTML = "personObj : " + WeakMap1.get(personObj) + "<br>";
        });
        btnEle[1].addEventListener("click", () => {
            personObj = null;
            resultEle.innerHTML += "personObj : " + WeakMap1.get(personObj) + "<br>";
            resultEle.innerHTML += " personObj is now removed from memory";
        });
    </script>
</body>
</html>

আউটপুট

প্রথম বাটনে ক্লিক করলে WeakMap থেকে ভ্যালু দেখাবে। REMOVE বাটনে ক্লিক করলে personObj নাল হয়ে গেলে WeakMap থেকে অ্যাক্সেস করা যাবে না (গারবেজ কলেক্টেড)।

  1. জাভাস্ক্রিপ্টে Map অবজেক্ট

  2. জাভাস্ক্রিপ্টে Blob অবজেক্ট

  3. জাভাস্ক্রিপ্টে RegExp অবজেক্ট

  4. জাভাস্ক্রিপ্টে অবজেক্ট ইলিশিয়ালাইজার