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

জাভাস্ক্রিপ্টে Object.freeze() দিয়ে নেস্টেড অবজেক্ট ইমিউটেবল করা সম্ভব কিনা?


Object.freeze() মেথড একটি অবজেক্টকে ইমিউটেবল (immutable) করতে পারে, কিন্তু নেস্টেড অবজেক্ট-এর ক্ষেত্রে এটি মিউটেবিলিটি (mutability) রোধ করতে পারে না। Object.freeze() শুধু বাইরের প্যারেন্ট অবজেক্টকে ইমিউটেবিলিটি দিতে পারে, এটা কোনো ইনার চাইল্ড (নেস্টেড) অবজেক্টে অ্যাক্সেস করতে পারে না।

উদাহরণ

নিচের উদাহরণে কোনো নেস্টেড অবজেক্ট নেই। Object.freeze() মেথড পুরো অবজেক্টকে ফ্রিজ করার চেষ্টা করে। তাই অবজেক্ট ফ্রিজ করার পর প্রোপার্টি "name"-এ কোনো পরিবর্তন হয়নি।

<html> <body>    <script>       const person = {          "name" : "Suresh",          "Country" : "India",          "Designation" : "Mayor"       }       document.write("Before freeze the name is" +" "+ person.name );       document.write("<br>");       Object.freeze(person);       person.name = "John";       document.write("After freeze the name is" +" "+ person.name);    </script> </body> </html>

আউটপুট

Before freeze the name is Suresh After freeze the name is Suresh

যখন একটি নেস্টেড অবজেক্টকে Object.freeze() দিয়ে ফ্রিজ করার চেষ্টা করা হয়, ফলাফল নिष्फল হয় কারণ এটি নেস্টেড অবজেক্টে অ্যাক্সেস করতে পারে না।

উদাহরণ

নিচের উদাহরণে, অবজেক্ট Object.freeze() দিয়ে ফ্রিজ করা থাকলেও নেস্টেড অবজেক্টের প্রোপার্টি পরিবর্তন হয়েছে।

<html> <body> <script>    const person = {       "name" : "Suresh",       "Country" : "India",       "Designation" : "Mayor",       "CompaniesOwned" :{          "Company1" : "Tesla",          "Company2" : "SolarCity",          "Company3" : "Spacex"       }    }    document.write("Before freeze " + " " + "Company2 is" + " "+ person.CompaniesOwned.Company2);    Object.freeze(person);    document.write("<br>");    person.CompaniesOwned.Company2 = "Neuralica";    document.write("After freeze" + " " + "Company2 is" + " "+ person.CompaniesOwned.Company2); </script> </body> </html>

আউটপুট

Before freeze Company2 is SolarCity After freeze Company2 is Neuralica
  1. জাভাস্ক্রিপ্ট দিয়ে URL অবজেক্ট তৈরি করা

  2. জাভাস্ক্রিপ্টে অ্যারেতে নেস্টেড অবজেক্ট মানগুলোর যোগফল

  3. জাভাস্ক্রিপ্টে নেস্টেড অ্যারে থেকে অবজেক্টে ডেটা রূপান্তর

  4. জাভাস্ক্রিপ্টে নেস্টেড অবজেক্ট কী existencia যাচাই