জাভাস্ক্রিপ্ট প্রপার্টি ম্যানেজমেন্ট মেথডস (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 দিয়ে অবজেক্ট লকডাউন বা সীমিত করা যায়।