Object.seal() এর মধ্যে পার্থক্য এবং Object.freeze() পূর্ববর্তীটি একটি বস্তুর বিদ্যমান বৈশিষ্ট্যে পরিবর্তনের অনুমতি দিতে পারে যেখানে পরেরটি বস্তুতে কোনো পরিবর্তনের অনুমতি দেয় না। Object.freeze() একটি বস্তুকে ইমিউন করে তোলে যেকোনো কিছুতে, এমনকি মিনিটের পরিবর্তনও পরিবর্তন করা যাবে না।
Object.seal()
Object.seal() পদ্ধতিটি একটি বিদ্যমান সম্পত্তি মুছে ফেলাকে বাধা দেয় তবে এটি বিদ্যমান বৈশিষ্ট্যগুলিকে বাইরের পরিবর্তন থেকে রক্ষা করতে পারে না৷
উদাহরণ
নিম্নলিখিত উদাহরণে, Object.seal() এর কারণে পদ্ধতিটি ব্যবহারকারীর সংজ্ঞায়িত সম্পত্তি "prop1" মুছে ফেলা হয় না যদিও মুছে ফেলার পদ্ধতি প্রয়োগ করা হয় যেখানে শুধুমাত্র সম্পত্তি "prop1" এর মান আপডেট করা হয়।
<html>
<body>
<script>
var object1 = {
prop1: 1
};
Object.seal(object1);
object1.prop1 = 2; // value got changed
delete object1.prop1;
document.write(object1.prop1); // it gives value as 2 because of seal.
</script>
</body>
</html> আউটপুট
2
Object.freeze()
Object.seal() এর কার্যকারিতা ছাড়াও , Object.freeze() পদ্ধতি এমনকি কোনো বস্তুর বিদ্যমান বৈশিষ্ট্যে মিনিট পরিবর্তনের অনুমতি দেয় না।
উদাহরণ
<html>
<body>
<script>
var object1 = {
prop1: 1
};
Object.freeze(object1);
object1.prop1 = 2; // value got updated
delete object1.prop1; // value got deleted
document.write(object1.prop1); // it gives 1 as output despite value updated to 2
</script>
</body>
</html> এ আপডেট হওয়া সত্ত্বেও আউটপুট হিসাবে 1 দেয় আউটপুট
1