জাভাস্ক্রিপ্ট প্রপার্টি ম্যানেজমেন্ট মেথডস

জাভাস্ক্রিপ্ট প্রপার্টি ম্যানেজমেন্ট মেথডস (JavaScript Property Management Methods)

জাভাস্ক্রিপ্টে অবজেক্টের প্রপার্টিগুলো নিয়ন্ত্রণ ও কাস্টমাইজ করার জন্য কিছু শক্তিশালী বিল্ট-ইন মেথড রয়েছে। এদেরকে বলা হয় Property Management Methods। এই মেথডগুলো দ্বারা আপনি প্রপার্টি যোগ, মুছে ফেলা, কনফিগার করা, বা প্রোটেক্ট করতে পারেন।

➤ গুরুত্বপূর্ণ প্রপার্টি ম্যানেজমেন্ট মেথডসমূহ

Method বর্ণনা
Object.defineProperty() একটি প্রপার্টির জন্য কাস্টম সেটিং (value, writable, enumerable, configurable) নির্ধারণ করে।
Object.defineProperties() একাধিক প্রপার্টি একসাথে সংজ্ঞায়িত করতে ব্যবহৃত হয়।
Object.getOwnPropertyDescriptor() নির্দিষ্ট একটি প্রপার্টির ডেসক্রিপ্টর রিটার্ন করে।
Object.preventExtensions() নতুন প্রপার্টি যোগ করা নিষিদ্ধ করে।
Object.seal() প্রপার্টি যোগ বা মুছে ফেলা যাবে না, কিন্তু মান পরিবর্তন করা যাবে।
Object.freeze() কোনো পরিবর্তন করা যাবে না — একে সম্পূর্ণ স্থির করে দেয়।

➤ উদাহরণ: Object.defineProperty()


let ব্যক্তি = {};

Object.defineProperty(ব্যক্তি, "নাম", {
  value: "সালমান",
  writable: false,
  enumerable: true,
  configurable: false
});

console.log(ব্যক্তি.নাম);  // সালমান

ব্যক্তি.নাম = "রহিম";       // কাজ করবে না কারণ writable: false
console.log(ব্যক্তি.নাম);  // সালমান

বাংলা ব্যাখ্যা: Object.defineProperty() দিয়ে আমরা একটি প্রপার্টি যোগ করেছি যার মান পরিবর্তন করা যাবে না (writable: false) এবং এটি অবজেক্ট থেকে মুছে ফেলা যাবে না (configurable: false)।

➤ উদাহরণ: Object.getOwnPropertyDescriptor()


let বই = {
  নাম: "JavaScript Guide"
};

let desc = Object.getOwnPropertyDescriptor(বই, "নাম");

console.log(desc);

বাংলা ব্যাখ্যা: এটি একটি প্রপার্টির বিস্তারিত তথ্য (value, writable, enumerable, configurable) রিটার্ন করে। ডিবাগিং বা নিরাপত্তা নিশ্চিত করার সময় এটি খুব উপকারী।

➤ Object.freeze(), Object.seal(), Object.preventExtensions()


let info = { নাম: "রাহুল" };

Object.freeze(info);
info.নাম = "রবি";       // কাজ করবে না
info.বয়স = ৩০;          // যোগ করা যাবে না

console.log(info);      // { নাম: "রাহুল" }

বাংলা ব্যাখ্যা: Object.freeze() পুরো অবজেক্টকে স্থির করে দেয়। কোনো প্রপার্টির মান পরিবর্তন, মুছে ফেলা বা নতুন প্রপার্টি যোগ — কোনোটাই সম্ভব না।

➤ উপসংহার

  • defineProperty দিয়ে নির্দিষ্ট প্রপার্টিকে নিয়ন্ত্রণ করা যায়।
  • getOwnPropertyDescriptor দিয়ে প্রপার্টির ডেসক্রিপশন দেখা যায়।
  • freeze, seal, preventExtensions দিয়ে অবজেক্ট লকডাউন বা সীমিত করা যায়।

Leave a Reply