WeakMap অবজেক্ট হলো কী/ভ্যালু জোড়ার একটি সংগ্রহ যেখানে কীগুলো দুর্বলভাবে রেফারেন্সড। কীগুলো অবজেক্ট হতে হবে এবং ভ্যালুগুলো যেকোনো মান হতে পারে।
উইকিপিডিয়া অনুযায়ী, Weak reference হলো এমন একটি রেফারেন্স যা রেফারেন্সড অবজেক্টকে গার্বেজ কলেক্টর দিয়ে কালেকশন থেকে রক্ষা করে না, অদ্ভুত রেফারেন্সের বিপরীতে। একটি অবজেক্ট যা শুধু দুর্বল রেফারেন্স দ্বারা রেফারেন্সড — অর্থাৎ "রেফারেন্সের প্রতিটি চেইন যা অবজেক্টে পৌঁছায় কমপক্ষে একটি দুর্বল রেফারেন্স একটি লিংক হিসেবে অন্তর্ভুক্ত করে" — দুর্বলভাবে রিচেয়achable বলে বিবেচিত হয়, এবং অনরিচেয়achable হিসেবে বিবেচনা করা হয়ে যেকোনো সময় কালেক্ট করা যেতে পারে।
কিছু ইউজ কেস যা অন্যথায় মেমরি লিকের কারণ হতো, WeakMap দিয়ে সেগুলো সমাধান করা যায় -
একটি নির্দিষ্ট অবজেক্টের প্রাইভেট ডেটা রাখা এবং শুধু ম্যাপের রেফারেন্স রেখে এক্সেস দেয়া।
লাইব্রেরি অবজেক্ট সম্পর্কে ডেটা রাখা সেগুলো পরিবর্তন না করে বা ওভারহেড ছাড়া।
অনেক অবজেক্ট থাকলে একটি ছোট সেট অবজেক্টের ডেটা রাখা যাতে JS ইঞ্জিনের হিডেন ক্লাসের সাথে সমস্যা না হয়।
হোস্ট অবজেক্ট যেমন ব্রাউজারের DOM নোড সম্পর্কে ডেটা রাখা।
বাহির থেকে একটি অবজেক্টে ক্যাপাবিলিটি যোগ করা।