দুর্বল সেট অবজেক্ট
JavaScript WeakSet
একটি জাভাস্ক্রিপ্ট দুর্বল সেট হল মানগুলির একটি সেট যেখানে মানগুলি অবশ্যই বস্তু হতে হবে।
একটি দুর্বল সেট এর মানগুলির দুর্বল উল্লেখ রাখে।
মূল্য সংযোজন
let mySet = new WeakSet();
let myObj = {fname:"John", lname:"Doe"};
mySet.add(myObj);
মান পরীক্ষা
let response = mySet.has(myObj); // সত্য বা মিথ্যা ফেরত দেয়
অবচয়
mySet.delete(myObj);
//
উদাহরণ
উদাহরণ 1: একটি দুর্বল সেট তৈরি এবং পরীক্ষা করা
// দুর্বল সেট তৈরি করুন let mySet = new WeakSet(); // অবজেক্ট তৈরি করুন let myObj = {fname:"John", lname:"Doe"}; // অবজেক্ট যোগ করুন mySet.add(myObj); // mySet এ কি myObj আছে? let response = mySet.has(myObj);
উদাহরণ 2: WeakSet থেকে মুছে ফেলা
// দুর্বল সেট তৈরি করুন let mySet = new WeakSet(); // অবজেক্ট তৈরি করুন let myObj = {fname:"John", lname:"Doe"}; // অবজেক্ট যোগ করুন mySet.add(myObj); // বস্তুটি মুছুন mySet.delete(myObj); // mySet এ কি myObj আছে? let response = mySet.has(myObj);
বর্জ্য সংগ্রহ
জাভাস্ক্রিপ্ট আবর্জনা সংগ্রহ নামে একটি মেমরি ম্যানেজমেন্ট মেকানিজম ব্যবহার করে।
প্রাথমিক ফাংশন:
দুর্বল নোট
একটি নিয়মিত সেটের বিপরীতে, একটি দুর্বল সেট তার মানগুলিকে আবর্জনা সংগ্রহ করা থেকে বাধা দেয় না।
যদি একটি মান (একটি বস্তু) একটি প্রোগ্রামে কোন রেফারেন্স না থাকে, তাহলে এটি আবর্জনা সংগ্রহের জন্য যোগ্য হয়ে ওঠে।
যখন মূল্য বর্জ্য সংগ্রহ করা হয়, তখন এটি দুর্বল সেট থেকে সরানো হয়।
উদাহরণ
// দুর্বল সেট তৈরি করুন let mySet = new WeakSet(); // অবজেক্ট তৈরি করুন let myObj = {fname:"John", lname:"Doe"}; // অবজেক্ট যোগ করুন mySet.add(myObj); // মেমরি থেকে বস্তু সরান myObj = null; // এখন mySet এ myObj আবর্জনা সংগ্রহ করা হবে
মান বস্তু হতে হবে
প্রাথমিক মানগুলি একটি দুর্বল সেটের মান হতে পারে না।
মান বস্তু হতে হবে.
ভুল:
let weakSet = new WeakSet(); weakSet.add(42); // ত্রুটি! weakSet.add("হ্যালো"); // ত্রুটি! weakSet.add(true); // ত্রুটি!
সঠিক:
let weakSet = new WeakSet(); weakSet.add({নাম: "জন"}); // ঠিক আছে! weakSet.add([1, 2, 3]); // ঠিক আছে! weakSet.add(নতুন তারিখ()); // ঠিক আছে!
এই সীমাবদ্ধতা বর্জ্য সংগ্রহের প্রক্রিয়ার সাথে সম্পর্কিত; প্রাথমিক মানগুলি বস্তুর মতো আবর্জনা সংগ্রহ করা হয় না।
ট্র্যাকিং বস্তু
একটি দুর্বল সেট একটি সেটের মত, কিন্তু এটি শুধুমাত্র বস্তু সংরক্ষণ করে, এবং তাদের দুর্বল রাখে। যদি একটি বস্তুর অন্য কোন রেফারেন্স না থাকে তবে এটি স্বয়ংক্রিয়ভাবে আবর্জনা সংগ্রহ করা হয়।
এটি অতিরিক্ত ডেটা (যেমন সংখ্যা) সংরক্ষণ না করে অবজেক্ট ট্র্যাক করার জন্য দরকারী।
ভিজিটর ট্র্যাকিং:
let text = ""; // লোকেদের ট্র্যাক করতে একটি দুর্বল সেট তৈরি করুন const persons = new WeakSet(); // ভিজিটর অবজেক্ট const John = {নাম:"জন", বয়স:40}; const Paul = {নাম:"পল", বয়স:41}; const Ringo = {নাম:"রিংগো", বয়স: 42}; const George = {নাম:"জর্জ", বয়স:43}; // ট্র্যাক ভিজিট ট্র্যাক (পল); ট্র্যাক (রিংগো); ট্র্যাক (পল); // দর্শকদের ট্র্যাক করার ফাংশন ফাংশন ট্র্যাক (দর্শক) { যদি (persons.has(visitor)) { text += visitor.name + " আবার ভিজিট করছে।
";
} else {
persons.add(visitor);
text += visitor.name + ", age" + visitor.age +", is visiting for the first time
";
}
}
দ্রষ্টব্য:
আপনি যদি ভিজিট এবং গণনা রাখতে চান:
WeakMap ব্যবহার করে দেখুন।
স্বয়ংক্রিয় পরিস্কার
আপনি যদি একটি ভিজিটর অবজেক্টের সমস্ত রেফারেন্স মুছে ফেলেন:
ভিজিটর ট্র্যাকিং:
জন = null; // জন এর এন্ট্রি এখন WeakMap(ব্যক্তি) থেকে সরানো হবে।
স্বয়ংক্রিয় পরিষ্কার:
উইকসেট মেমরি পরিচালনাকে সহজ করে। আপনাকে বস্তুগুলি মুছতে হবে না - সেগুলি স্বয়ংক্রিয়ভাবে আবর্জনা সংগ্রহ করা হয়।
পুনরাবৃত্তি সম্ভব নয়
দুর্বল সেটগুলি পুনরাবৃত্তিযোগ্য নয়।
আপনি loops, forEach(), অথবা values() দিয়ে মানগুলির মাধ্যমে পুনরাবৃত্তি করতে পারবেন না।
আপনি স্কেল অ্যাক্সেস করতে পারবেন না. দুর্বল সেটগুলির একটি আকারের বৈশিষ্ট্য নেই।
| ফাংশন | Set | WeakSet |
|---|---|---|
| পুনরাবৃত্তি (এর...এর জন্য) | ✓ সমর্থন করে | ✗ সমর্থিত নয় |
| forEach() পদ্ধতি | ✓ সমর্থন করে | ✗ সমর্থিত নয় |
| আকার বৈশিষ্ট্য | ✓ সমর্থন করে | ✗ সমর্থিত নয় |
| স্প্রেড অপারেটর (...) | ✓ সমর্থন করে | ✗ সমর্থিত নয় |
সীমিত পদ্ধতি
একটি দুর্বল সেট হল ন্যূনতম, মেমরি নিরাপদ, এবং পৃথকভাবে এবং দক্ষতার সাথে বস্তুর ট্র্যাক রাখতে কনফিগার করা হয়।
WeakSet :
new WeakSet()
একটি নতুন WeakSet অবজেক্ট তৈরি করে
add(object)
WeakSet এ একটি বস্তু যোগ করে
delete(object)
WeakSet অবজেক্ট সরিয়ে দেয়
has(object)
কোনো বস্তু দুর্বলসেটে থাকলে সত্য দেখায়
দুর্বল সেটে নেই:
উপরেরটি ডিজাইনের মাধ্যমে: বস্তুগুলি আবর্জনা সংগ্রহের মধ্যে অদৃশ্য হয়ে যেতে পারে, এটি পুনরাবৃত্তি বা গণনা করা অর্থহীন করে তোলে।
দুর্বল সেট প্রশিক্ষণ
এই টিউটোরিয়ালটি JavaScript WeakSet ধারণা সম্পর্কে আপনার বোঝার পরীক্ষা করে।
উইকসেট সম্পর্কে নিচের কোন বিবৃতিটি সঠিক?
আরও জানুন
WeakSet সম্পর্কে আরো বিস্তারিত তথ্যের জন্য:
JavaScript Sets
সেট এবং বেসিকের ভূমিকা
JavaScript Set Methods
বেসিক সেট পদ্ধতি
JavaScript Set Logic
লজিক পদ্ধতি সেট করুন
JavaScript Set Reference
সম্পূর্ণ সেট রেফারেন্স
JavaScript Maps:
WeakSet এর মত, WeakMapsও আছে। তারা দুর্বল রেফারেন্স সহ কী-মান জোড়া সঞ্চয় করে।
ব্রাউজার সমর্থন
WeakSet একটি ES6 বৈশিষ্ট্য।
জুন 2017 পর্যন্ত সমস্ত আধুনিক ব্রাউজারে ES6 সম্পূর্ণরূপে সমর্থিত:
| ব্রাউজার | সংস্করণ | মুক্তির তারিখ |
|---|---|---|
| Chrome | 51 | May 2016 |
| Edge | 15 | Apr 2017 |
| Firefox | 54 | Jun 2017 |
| Safari | 10 | Sep 2016 |
| Opera | 38 | Jun 2016 |