JavaScript ऑब्जेक्ट
आप फ़ंक्शन और क्लोजर जानते हैं — तर्क को बाँध सकते हैं। असली पेजों को संरचित डेटा भी चाहिए: किसी उत्पाद का शीर्षक, कीमत और स्टॉक साथ रहते हैं। ऑब्जेक्ट एक ऐसा मान है जो कई नामित हिस्से रखता है।
ऑब्जेक्ट का मतलब
ऑब्जेक्ट संबंधित डेटा को प्रॉपर्टी के रूप में रखता है। हर प्रॉपर्टी की एक कुंजी (key) — नाम — और एक मान (value) होता है। शुरुआत में अक्सर ऑब्जेक्ट लिटरल लिखा जाता है: घुंघराले कोष्ठक { } और अंदर कुंजी: मान जोड़े। इस पहले कदम के लिए क्लास ज़रूरी नहीं।
चार हिस्से देखें
📊 लिटरल, कुंजी, मान और पहुँच
| हिस्सा | भूमिका | शुरुआती संकेत |
|---|---|---|
| ऑब्जेक्ट लिटरल | वह { … } मान जो आप वेरिएबल को देते हैं |
संबंधित डेटा का एक थैला |
| कुंजी | : के बाईं ओर प्रॉपर्टी का नाम |
टुकड़े पर लेबल कैसे लगाएँ |
| मान | : के दाईं ओर डेटा |
स्ट्रिंग, संख्या, बूलियन, … |
| पहुँच | . या [ ] से पढ़ना/लिखना |
बाद में एक टुकड़े तक कैसे पहुँचें |
इन चार को दिखा सकें तो लगभग हर पहला ऑब्जेक्ट उदाहरण समझा सकते हैं। कई सीखने वालों के लिए आश्चर्य कोष्ठक नहीं — बल्कि यह कि एक वेरिएबल अब कई नामित फ़ील्ड साथ ले जाता है।
let book = {
title: "Maps",
pages: 120
};
console.log(book);
घुंघराले कोष्ठक ऑब्जेक्ट बनाते हैं
book एक मान है। अंदर title और pages प्रॉपर्टी हैं। जोड़ों को अल्पविराम अलग करते हैं। } के बाद ऑब्जेक्ट उपयोग के लिए तैयार है। book लॉग करने से पूरा थैला कंसोल में दिखता है।
let book = {
title: "Maps",
pages: 120
};
console.log(book.title);
console.log(book.pages);
डॉट एक फ़ील्ड तक पहुँचता है
ऑब्जेक्ट का नाम, डॉट, फिर कुंजी: book.title। परिणाम स्ट्रिंग "Maps" है। ज्ञात प्रॉपर्टी नाम पढ़ने का रोज का तरीका डॉट है। इस रूप में कुंजी मान्य पहचानकर्ता जैसी होनी चाहिए।
let book = {
title: "Maps",
pages: 120
};
console.log(book["title"]);
console.log(book["pages"]);
ब्रैकेट भी उसी फ़ील्ड तक पहुँचते हैं
यहाँ book["title"] वही मान है जो book.title। ब्रैकेट स्ट्रिंग लेते हैं (या वह व्यंजक जो कुंजी बने)। जब कुंजी वेरिएबल में हो, या नाम सादा पहचानकर्ता न हो, तब ब्रैकेट उपयोगी हैं। स्थिर नामों के लिए अक्सर डॉट साफ़ रहता है।
let book = {
title: "Maps",
pages: 120
};
book.pages = 140;
console.log(book.pages);
बाद में प्रॉपर्टी अपडेट कर सकते हैं
book.pages पर असाइनमेंट उस फ़ील्ड को बदलता है। ऑब्जेक्ट वही थैला रहता है; अंदर एक मान नया है। फिर पढ़ें तो 140 दिखेगा। आगे की पाठ प्रॉपर्टी जोड़ने और सूची बनाने में गहराई देंगे — यहाँ लक्ष्य साफ़ पहला अपडेट है।
let item = {
name: "Mug",
price: 8
};
console.log(item.name);
console.log(item.price);
संबंधित फ़ील्ड साथ चलते हैं
name और price एक दुकान आइटम बताते हैं। उन्हें एक ऑब्जेक्ट पर रखना दो अलग ग्लोबल से बेहतर है जो बिखर सकते हैं। जब आप item फ़ंक्शन को दें या पेज पर रखें, दोनों फ़ील्ड एक इकाई की तरह चलते हैं।
पेज पर ऑब्जेक्ट फ़ील्ड दिखाएँ
छोटा प्रोडक्ट ऑब्जेक्ट बनाएँ, एक प्रॉपर्टी पढ़ें, और वह टेक्स्ट पैराग्राफ़ में डालें।
<!DOCTYPE html>
<html>
<head>
<title>objects — page</title>
</head>
<body>
<p id="label">…</p>
<script>
let item = {
name: "Lamp",
price: 25
};
let box = document.getElementById("label");
box.textContent = item.name + " — " + item.price;
</script>
</body>
</html>
पैराग्राफ़ Lamp — 25 दिखाता है। सिर्फ ऑब्जेक्ट का name या price बदलें, रिफ़्रेश करें, नई पंक्ति पढ़ें। अगला पाठ ऑब्जेक्ट प्रॉपर्टी पर गहराई से जाएगा — कुंजियाँ कैसे व्यवहार करती हैं और रोज़ का काम।
अभ्यास कदम
- लिटरल से दो प्रॉपर्टी वाला ऑब्जेक्ट बनाएँ।
- डॉट से एक प्रॉपर्टी कंसोल में लॉग करें।
- ब्रैकेट और स्ट्रिंग कुंजी से वही प्रॉपर्टी लॉग करें।
- एक प्रॉपर्टी बदलें और नया मान देखें।
nameऔरpriceवालाitemबनाएँ; दोनों फ़ील्ड लॉग करें।- HTML डेमो में सिर्फ ऑब्जेक्ट मान बदलें, रिफ़्रेश करें, पैराग्राफ़ पढ़ें।
आम गलतियाँ
- ऑब्जेक्ट को क्रमांकित सूची मानना (वह बाद में ऐरे के करीब है)
- स्ट्रिंग मानों के चारों ओर उद्धरण भूलना — बिना कोट
title: Mapsगलत है - लिटरल समझाते समय कुंजी और मान मिलाना
- इसी पहले पेज पर मेथड,
this, या गहरी प्रॉपर्टी टूल की उम्मीद — वे बाद में आते हैं - हर फ़ील्ड के लिए अलग ग्लोबल बनाना बजाय एक ऑब्जेक्ट के
सार
- ऑब्जेक्ट संबंधित मानों को नामित प्रॉपर्टी के रूप में बाँधता है
- लिटरल रूप
{ कुंजी: मान, … }है - डॉट नोटेशन (
obj.key) ज्ञात प्रॉपर्टी पढ़ता है - ब्रैकेट नोटेशन (
obj["key"]) स्ट्रिंग कुंजी से पढ़ता है - प्रॉपर्टी पर असाइन करके बाद में अपडेट कर सकते हैं
- ऑब्जेक्ट हिलने पर संबंधित फ़ील्ड साथ रहते हैं
- पेज अपडेट ऑब्जेक्ट फ़ील्ड से स्ट्रिंग बना सकते हैं
- अगला: ऑब्जेक्ट प्रॉपर्टी — कुंजियों पर और गहराई
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी