JavaScript ऑब्जेक्ट में नई प्रॉपर्टी जोड़ना
JavaScript में ऑब्जेक्ट डायनामिक होते हैं - आप रनटाइम पर कभी भी नई प्रॉपर्टीज जोड़ सकते हैं।
तरीके
1. डॉट नोटेशन (सबसे आम)
<html> <body> <p id="demo"></p> <script>
var car = {name: "Benz", "Brand": "Mercedes", model: "open roof"};
// नई प्रॉपर्टीज जोड़ें
car.price = "50,000$";
car.color = "Black";
document.write(JSON.stringify(car));
</script> </body> </html>
आउटपुट
{"name":"Benz","Brand":"Mercedes","model":"open roof","price":"50,000$","color":"Black"}
2. ब्रैकेट नोटेशन (डायनामिक कीज़ के लिए)
<script>
var car = {name: "Benz"};
var propName = "year";
car[propName] = 2024; // वेरिएबल से की नाम
car["fuel-type"] = "Petrol"; // स्पेशल कैरेक्टर्स वाली की
</script>
3. Object.defineProperty() (नियंत्रण के साथ)
<script>
var car = {name: "Benz"};
Object.defineProperty(car, "price", {
value: 50000,
writable: true, // मान बदला जा सकता है
enumerable: true, // लूप में दिखेगा
configurable: true // डिलीट/रीकॉन्फिगर किया जा सकता है
});
</script>
व्यावहारिक उदाहरण
<script>
// फंक्शन से प्रॉपर्टी जोड़ना
function addProperty(obj, key, value) {
obj[key] = value;
return obj;
}
var user = {name: "राहुल"};
addProperty(user, "age", 25);
addProperty(user, "city", "दिल्ली");
// user = {name: "राहुल", age: 25, city: "दिल्ली"}
</script>
महत्वपूर्ण बिंदु
- ऑब्जेक्ट एक्सटेंसिबल होना चाहिए (
Object.isExtensible()चेक करें) - डुप्लीकेट की मान को ओवरराइट करती है
- प्रॉपर्टी नाम स्ट्रिंग या Symbol हो सकते हैं
JSON.stringify()सीरियलाइज़ेशन के लिए उपयोगी