JavaScript में किसी ऑब्जेक्ट में आइटम जोड़ने के दो तरीके हैं:
- डॉट डॉटेशन:
object.thingToAdd
- ब्रैकेट नोटेशन:
object['thingToAdd'
डॉट नोटेशन
आइए पहले डॉट नोटेशन देखें:
let dog = {
name: "Naya",
age: "2",
color: "black",
}
// Add item to dog object
dog.breed = "Rottweiler mix"
// Log object to console
console.log(dog)
// { name: "Naya", age: "2", color: "black", breed: "Rottweiler mix", }
वह डॉट नोटेशन है।
ब्रैकेट नोटेशन
ब्रैकेट नोटेशन की कम सीमाएँ हैं कि आप किसी ऑब्जेक्ट में गुण कैसे जोड़ सकते हैं। आइए पहले से उसी कुत्ते की वस्तु को देखें:
let dog = {
name: "Naya",
age: "2",
color: "black",
}
आइए अब ब्रैकेट नोटेशन के साथ इसमें एक प्रॉपर्टी और वैल्यू जोड़ें:
dog["weight"] = "34kg"
console.log(dog)
// { name: "Naya", age: "2", color: "black", weight: "34kg", }
जैसा कि आप देख सकते हैं, यह ठीक उसी तरह काम करता है जैसे डॉट नोटेशन के साथ — इस विशिष्ट उदाहरण में।
अब दो तरीकों की तुलना करते हैं।
डॉट नोटेशन बनाम ब्रैकेट नोटेशन
एक संख्या जोड़ने का प्रयास करें डॉट नोटेशन: . का उपयोग करके नए प्रॉपर्टी नाम के रूप में
// Dot notation
dog.1 = "Property 1"
console.log(dog)
// Uncaught SyntaxError: Unexpected number
ओह, आपको एक त्रुटि मिलती है! ऐसा इसलिए है क्योंकि डॉट नोटेशन के साथ आप संख्याओं का उपयोग नहीं कर सकते संपत्ति के नाम में।
लेकिन आप कर सकते हैं जब तक आपके पहचानकर्ता को एक स्ट्रिंग के रूप में स्वरूपित किया जाता है, तब तक कोष्ठक संकेतन के साथ संख्याओं का उपयोग करें:
// Bracket notation
dog["1"] = "Property 1"
console.log(dog)
// { 1: "Property 1", age: "2", color: "black", name: "Naya" }
फिर से, ब्रैकेट नोटेशन डॉट नोटेशन की तुलना में अधिक लचीला है।
आपको किसका उपयोग करना चाहिए?
जब भी आप कर सकते हैं डॉट नोटेशन का उपयोग करना एक अच्छा अभ्यास है क्योंकि इसे पढ़ना आसान है। लेकिन जब भी आपको किसी ऑब्जेक्ट में कोई प्रॉपर्टी जोड़नी हो, और प्रॉपर्टी को किसी संख्या, विशेष चिन्ह या किसी आरक्षित कीवर्ड से शुरू करना हो, तो ब्रैकेट नोटेशन का उपयोग करें।
डॉट नोटेशन:
- संपत्ति पहचानकर्ता (नाम) और केवल अक्षरांकीय (a—z) वर्ण होते हैं, अंडरस्कोर (
_
), या$
। - संपत्ति पहचानकर्ता नहीं कर सकते एक नंबर से शुरू करें।
- संपत्ति पहचानकर्ता नहीं कर सकते चर होते हैं।
ब्रैकेट नोटेशन:
- संपत्ति पहचानकर्ता (नाम) एक स्ट्रिंग मान प्रकार या एक चर होना चाहिए जो संदर्भ हो एक स्ट्रिंग।
- आप पहचानकर्ताओं पर रिक्त स्थान का उपयोग कर सकते हैं
[" property"]
, - स्ट्रिंग पहचानकर्ता कर सकते हैं संख्याओं से शुरू करें
["1st"]