Object.freeze() এর মধ্যে পার্থক্য এবং const পূর্ববর্তীটি পরিবর্তনশীলতাকে বাধা দেয় যেখানে পরেরটি পরিবর্তনশীলতাকে বাধা দেয় না। আরও ভালোভাবে বোঝার জন্য আসুন আলাদাভাবে আলোচনা করা যাক।
কনস্ট
কনস্ট আচরণ চলুন এর মতই . const ব্যবহার করে যেকোনো ভেরিয়েবলকে সংজ্ঞায়িত করা হলে এটি পুনরায় বরাদ্দ করা যাবে না৷ . Const দ্বারা ঘোষিত ভেরিয়েবল ব্লক স্কোপড এবং ফাংশন স্কোপড নয় var দ্বারা সংজ্ঞায়িত .
const এর সাথে প্রধান ত্রুটি মূল শব্দ হল এটি বস্তুকে mutability থেকে আটকায় না . বস্তুর বৈশিষ্ট্য পরিবর্তন করা যেতে পারে যদিও বস্তুটিকে const ব্যবহার করে সংজ্ঞায়িত করা হয় . একে বলা হয় পরিবর্তনশীলতা . একটি সাধারণীকরণ আছে যে কোন ভেরিয়েবল যা const ব্যবহার করে বরাদ্দ করা হয় আবার পুনরায় বরাদ্দ করা যায় না। কিন্তু যখন কোনো বস্তুকে const ব্যবহার করে সংজ্ঞায়িত করা হয় , তার বৈশিষ্ট্য পরিবর্তন করা যেতে পারে. সেই পরিস্থিতিতে পরিবর্তনশীলতা রোধ করতে const এড়িয়ে যাওয়াই ভালো .
উদাহরণ
নিম্নলিখিত উদাহরণে প্রাথমিকভাবে সম্পত্তির মান 'দেশ' হল "ভারত"। কিন্তু পরে মানটি ইংল্যান্ডে পরিবর্তিত হয় যদিও ভেরিয়েবলটি const ব্যবহার করে বরাদ্দ করা হয়।
আউটপুট
<প্রে>ইংল্যান্ড
Object.freeze()
এই পদ্ধতি অপরিবর্তনশীলতা প্রদান করে . কোনো বস্তু হিমায়িত হয়ে গেলে , তার বৈশিষ্ট্য পরিবর্তন করা যাবে না.
অপরিবর্তনশীলতা র কারণে নিম্নোক্ত ক্ষেত্রে যদিও সম্পত্তি "দেশ" এর মান "ভারত" থেকে "ইংল্যান্ড"-এ পরিবর্তিত হয়েছে মান "ভারত" তার জায়গা ধরে রাখে।
উদাহরণ
আউটপুট
ভারত