जावास्क्रिप्ट ऑब्जेक्ट्स
वास्तविक जीवन की वस्तुएं, गुण और तरीके
वास्तविक जीवन में, एक कार एक वस्तु है ।
एक कार में वजन और रंग जैसे गुण होते हैं, और स्टार्ट और स्टॉप जैसी विधियां :
वस्तु | गुण | तरीकों |
---|---|---|
car.name = Fiat car.model = 500 car.weight = 850kg car.color = white |
कार.स्टार्ट () कार.ड्राइव () कार.ब्रेक () कार.स्टॉप () |
सभी कारों में समान गुण होते हैं , लेकिन हर कार में संपत्ति के मूल्य अलग-अलग होते हैं।
सभी कारों के तरीके समान होते हैं, लेकिन तरीके अलग-अलग समय पर किए जाते हैं ।
जावास्क्रिप्ट ऑब्जेक्ट्स
आप पहले ही जान चुके हैं कि JavaScript वैरिएबल डेटा मानों के लिए कंटेनर होते हैं।
यह कोड कार नाम के वेरिएबल को एक साधारण मान (फिएट) प्रदान करता है:
let car = "Fiat";
वस्तुएँ भी चर हैं। लेकिन वस्तुओं में कई मूल्य हो सकते हैं।
यह कोड कार नाम के एक वेरिएबल के लिए कई मान (फिएट, 500, सफेद) निर्दिष्ट करता है:
const car = {type:"Fiat", model:"500", color:"white"};
मानों को नाम के रूप में लिखा जाता है: मूल्य जोड़े (नाम और मूल्य कोलन द्वारा अलग किया जाता है)।
ऑब्जेक्ट्स को कॉन्स्टेबल कीवर्ड के साथ घोषित करना एक आम बात है ।
इस अध्याय में वस्तुओं के साथ कॉन्स्ट का उपयोग करने के बारे में और जानें : जेएस कॉन्स्ट ।
वस्तु परिभाषा
आप एक वस्तु के साथ एक जावास्क्रिप्ट ऑब्जेक्ट को परिभाषित (और बनाते हैं) शाब्दिक:
उदाहरण
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
रिक्त स्थान और लाइन ब्रेक महत्वपूर्ण नहीं हैं। एक वस्तु परिभाषा कई पंक्तियों को फैला सकती है:
उदाहरण
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
वस्तु गुण
नाम: जावास्क्रिप्ट वस्तुओं में मान जोड़े गुण कहलाते हैं :
संपत्ति | संपत्ति मूल्य |
---|---|
पहला नाम | जॉन |
अंतिम नाम | हरिणी |
उम्र | 50 |
आँखों का रंग | नीला |
ऑब्जेक्ट गुण एक्सेस करना
आप ऑब्जेक्ट गुणों को दो तरीकों से एक्सेस कर सकते हैं:
objectName.propertyName
या
objectName["propertyName"]
उदाहरण 1
person.lastName;
उदाहरण2
person["lastName"];
जावास्क्रिप्ट ऑब्जेक्ट नामित मानों के लिए कंटेनर हैं जिन्हें गुण कहा जाता है।
वस्तु के तरीके
ऑब्जेक्ट्स में विधियां भी हो सकती हैं ।
विधियाँ ऐसी क्रियाएं हैं जो वस्तुओं पर की जा सकती हैं।
विधियों को गुणों में फ़ंक्शन परिभाषाओं के रूप में संग्रहीत किया जाता है ।
संपत्ति | संपत्ति मूल्य |
---|---|
पहला नाम | जॉन |
अंतिम नाम | हरिणी |
उम्र | 50 |
आँखों का रंग | नीला |
पूरा नाम | फ़ंक्शन () {इसे लौटाएं। पहला नाम + "" + यह अंतिम नाम;} |
एक विधि एक संपत्ति के रूप में संग्रहीत एक फ़ंक्शन है।
उदाहरण
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
यह कीवर्ड _
फ़ंक्शन परिभाषा में, फ़ंक्शन this
के "स्वामी" को संदर्भित करता है।
ऊपर दिए गए उदाहरण में, this
क्या वह व्यक्ति ऑब्जेक्ट है जो फ़ंक्शन का "मालिक" है
fullName
।
दूसरे शब्दों में, इस वस्तु की संपत्ति का this.firstName
मतलब है ।firstName
JS this Keywordthis
पर कीवर्ड के बारे में और पढ़ें ।
ऑब्जेक्ट मेथड्स एक्सेस करना
आप निम्न सिंटैक्स के साथ किसी ऑब्जेक्ट विधि तक पहुँच प्राप्त करते हैं:
objectName.methodName()
उदाहरण
name = person.fullName();
यदि आप () कोष्ठक के बिना किसी विधि का उपयोग करते हैं , तो यह फ़ंक्शन परिभाषा लौटाएगा :
उदाहरण
name = person.fullName;
स्ट्रिंग्स, नंबर्स और बूलियन्स को ऑब्जेक्ट के रूप में घोषित न करें!
जब कीवर्ड " new
" के साथ जावास्क्रिप्ट वैरिएबल घोषित किया जाता है, तो वेरिएबल को ऑब्जेक्ट के रूप में बनाया जाता है:
x = new String(); // Declares x as a String object
y = new Number(); // Declares y as a Number object
z = new Boolean(); // Declares z as a Boolean object
String
, Number
, और Boolean
वस्तुओं से बचें । वे आपके कोड को जटिल बनाते हैं और निष्पादन की गति को धीमा कर देते हैं।
आप इस ट्यूटोरियल में बाद में वस्तुओं के बारे में और जानेंगे।