मुख्य सामग्री पर जाएं
मॉड्यूल 3 · पाठ 2 का 4पाठ्यक्रम में 10/32~10 min
मॉड्यूल पाठ (2/4)

ऑब्जेक्ट: कुंजी-मूल्य मानचित्र

जेएस में एक ऑब्जेक्ट कुंजी → मान जोड़े का एक अव्यवस्थित संग्रह है। कुंजियाँ स्ट्रिंग्स हैं (या Symbol), मान कुछ भी हैं: संख्याएँ, स्ट्रिंग्स, सरणियाँ, अन्य वस्तुएँ, फ़ंक्शन। यह सबसे अधिक उपयोग की जाने वाली डेटा संरचना है भाषा: आपके डोमेन में प्रत्येक "रिकॉर्ड" आम तौर पर एक ऑब्जेक्ट होगा।

JS
const utente = {
  nome: 'Anna',
  eta: 28,
  attivo: true,
  ruoli: ['admin', 'editor'],
};

गुण पढ़ना: बिंदु बनाम ब्रैकेट

दो समतुल्य संकेतन हैं:

JS
utente.nome; // 'Anna'    (dot — the normal form)
utente['nome']; // 'Anna'    (bracket — equivalent)

// Brackets are MANDATORY when:
// 1) the key is not a valid identifier
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale;      // syntax error

// 2) the key is computed (variable/expression)
const campo = 'eta';
utente[campo]; // 28

एक लापता संपत्ति त्रुटियों के बिना undefined लौटाती है:

JS
utente.telefono; // undefined

जोड़ना, संशोधित करना, हटाना

JS
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the property

delete एक कीवर्ड है. यह एक दुर्लभ उपयोग का मामला साबित होगा: अधिकांश समय आने पर आप उस कुंजी के बिना एक नया ऑब्जेक्ट बनाना चाहेंगे (हम इसे देखेंगे)। प्रसार के साथ)।

आशुलिपि: वेरिएबल की तरह नामित कुंजियाँ

जब कुंजी नाम चर नाम से मेल खाता है, तो आप दोहराव को छोड़ सकते हैं:

JS
const nome = 'Anna';
const eta = 28;

const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalent

किसी संपत्ति की उपस्थिति की जाँच करना

वरीयता क्रम में तीन विकल्प:

JS
'nome' in utente; // true   ← in operator
utente.nome !== undefined; // true   ← works almost always
Object.hasOwn(utente, 'nome'); // true   ← modern, safe

इसे अजमाएं

व्यायाम#js.m3.l2.e1
प्रयास: 0लोड हो रहा है...

ऑब्जेक्ट बनाएं उपयोगकर्ता = {नाम: 'सारा', उम्र: 22 }, फिर 'सक्रिय' गुण सेट को सत्य पर जोड़ें और ऑब्जेक्ट को अंतिम अभिव्यक्ति के रूप में लौटाएं।

संपादक लोड हो रहा है...
संकेत दिखाएँ

आप तथ्य के बाद डॉट नोटेशन के साथ गुण जोड़ सकते हैं।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#js.m3.l2.e2
प्रयास: 0लोड हो रहा है...

`उत्पाद = { कोड: 'ए1', मूल्य: 9.9 }` और स्ट्रिंग `कुंजी = 'मूल्य'` दिया गया है, ब्रैकेट नोटेशन का उपयोग करके मूल्य लौटाएं (अंतिम अभिव्यक्ति का मूल्यांकन 9.9 होना चाहिए)।

संपादक लोड हो रहा है...
संकेत दिखाएँ

कोष्ठक के साथ आप एक वेरिएबल को कुंजी के रूप में पास कर सकते हैं।

3 प्रयासों के बाद समाधान उपलब्ध है