जावास्क्रिप्ट ऑब्जेक्ट्स
जावास्क्रिप्ट में, वस्तुएं राजा हैं। यदि आप वस्तुओं को समझते हैं, तो आप जावास्क्रिप्ट को समझते हैं।
जावास्क्रिप्ट में, लगभग "सब कुछ" एक वस्तु है।
new
बूलियन ऑब्जेक्ट हो सकते हैं (यदि कीवर्ड के साथ परिभाषित किया गया है )new
नंबर ऑब्जेक्ट हो सकते हैं (यदि कीवर्ड से परिभाषित किया गया है )new
स्ट्रिंग्स ऑब्जेक्ट हो सकते हैं (यदि कीवर्ड के साथ परिभाषित किया गया है )- तिथियां हमेशा वस्तुएं होती हैं
- गणित हमेशा वस्तु होते हैं
- रेगुलर एक्सप्रेशन हमेशा ऑब्जेक्ट होते हैं
- सरणियाँ हमेशा वस्तुएँ होती हैं
- फंक्शन हमेशा ऑब्जेक्ट होते हैं
- वस्तुएं हमेशा वस्तुएं होती हैं
आदिम को छोड़कर सभी JavaScript मान ऑब्जेक्ट हैं।
जावास्क्रिप्ट आदिम
एक आदिम मूल्य एक ऐसा मूल्य है जिसमें कोई गुण या विधियाँ नहीं होती हैं।
एक आदिम डेटा प्रकार वह डेटा होता है जिसका एक आदिम मूल्य होता है।
जावास्क्रिप्ट 5 प्रकार के आदिम डेटा प्रकारों को परिभाषित करता है:
string
number
boolean
null
undefined
आदिम मान अपरिवर्तनीय हैं (वे हार्डकोडेड हैं और इसलिए इन्हें बदला नहीं जा सकता)।
यदि x = 3.14 है, तो आप x का मान बदल सकते हैं। लेकिन आप 3.14 का मान नहीं बदल सकते।
मूल्य | प्रकार | टिप्पणी |
---|---|---|
"नमस्ते" | डोरी | "हैलो" हमेशा "हैलो" होता है |
3.14 | संख्या | 3.14 हमेशा 3.14 . होता है |
सच | बूलियन | सच हमेशा सच होता है |
असत्य | बूलियन | झूठा हमेशा झूठा होता है |
शून्य | शून्य (वस्तु) | शून्य हमेशा शून्य होता है |
अपरिभाषित | अपरिभाषित | अपरिभाषित हमेशा अपरिभाषित होता है |
वस्तुएं चर हैं
जावास्क्रिप्ट चर में एकल मान हो सकते हैं:
उदाहरण
let person = "John Doe";
जावास्क्रिप्ट चर में कई मान भी हो सकते हैं।
वस्तुएँ भी चर हैं। लेकिन वस्तुओं में कई मूल्य हो सकते हैं।
वस्तु मूल्यों को नाम के रूप में लिखा जाता है: मूल्य जोड़े (नाम और मूल्य कोलन द्वारा अलग किया जाता है)।
उदाहरण
let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
जावास्क्रिप्ट ऑब्जेक्ट नामित मानों का एक संग्रह है
const
कीवर्ड के साथ ऑब्जेक्ट घोषित करना एक आम बात है ।
उदाहरण
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
वस्तु गुण
जावास्क्रिप्ट ऑब्जेक्ट्स में नामित मानों को गुण कहा जाता है ।
संपत्ति | मूल्य |
---|---|
पहला नाम | जॉन |
अंतिम नाम | हरिणी |
उम्र | 50 |
आँखों का रंग | नीला |
नाम मान जोड़े के रूप में लिखी गई वस्तुएं समान हैं:
- PHP में साहचर्य सरणियाँ
- पायथन में शब्दकोश
- सी . में हैश टेबल
- जावा में हैश मैप्स
- रूबी और पर्ली में हैश
वस्तु के तरीके
विधियाँ ऐसी क्रियाएं हैं जो वस्तुओं पर की जा सकती हैं।
ऑब्जेक्ट गुण आदिम मान, अन्य ऑब्जेक्ट और फ़ंक्शन दोनों हो सकते हैं।
एक ऑब्जेक्ट विधि एक ऑब्जेक्ट प्रॉपर्टी है जिसमें फ़ंक्शन परिभाषा होती है ।
संपत्ति | मूल्य |
---|---|
पहला नाम | जॉन |
अंतिम नाम | हरिणी |
उम्र | 50 |
आँखों का रंग | नीला |
पूरा नाम | फ़ंक्शन () {इसे लौटाएं। पहला नाम + "" + यह अंतिम नाम;} |
जावास्क्रिप्ट ऑब्जेक्ट नामित मानों के लिए कंटेनर हैं, जिन्हें गुण और विधियाँ कहा जाता है।
आप अगले अध्यायों में विधियों के बारे में अधिक जानेंगे।
जावास्क्रिप्ट ऑब्जेक्ट बनाना
जावास्क्रिप्ट के साथ, आप अपनी खुद की वस्तुओं को परिभाषित और बना सकते हैं।
नई वस्तुएँ बनाने के विभिन्न तरीके हैं:
- एक वस्तु शाब्दिक का उपयोग करके, एक एकल वस्तु बनाएँ।
- कीवर्ड के साथ एकल ऑब्जेक्ट बनाएं
new
। - ऑब्जेक्ट कंस्ट्रक्टर को परिभाषित करें, और फिर निर्मित प्रकार के ऑब्जेक्ट बनाएं।
- का उपयोग करके एक वस्तु बनाएँ
Object.create()
।
किसी वस्तु का शाब्दिक उपयोग करना
जावास्क्रिप्ट ऑब्जेक्ट बनाने का यह सबसे आसान तरीका है।
ऑब्जेक्ट लिटरल का उपयोग करते हुए, आप दोनों एक स्टेटमेंट में ऑब्जेक्ट को परिभाषित और बनाते हैं।
एक वस्तु शाब्दिक नाम की एक सूची है: घुंघराले ब्रेसिज़ {} के अंदर मूल्य जोड़े (जैसे उम्र: 50)।
निम्न उदाहरण चार गुणों के साथ एक नया JavaScript ऑब्जेक्ट बनाता है:
उदाहरण
const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
रिक्त स्थान और लाइन ब्रेक महत्वपूर्ण नहीं हैं। एक वस्तु परिभाषा कई पंक्तियों को फैला सकती है:
उदाहरण
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
यह उदाहरण एक खाली JavaScript ऑब्जेक्ट बनाता है, और फिर 4 गुण जोड़ता है:
उदाहरण
const person = {};
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
जावास्क्रिप्ट कीवर्ड का प्रयोग नया
निम्न उदाहरण का उपयोग करके एक नया जावास्क्रिप्ट ऑब्जेक्ट बनाते हैं new Object()
, और फिर 4 गुण जोड़ता है:
उदाहरण
const person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
ऊपर दिए गए उदाहरण बिल्कुल वैसा ही करते हैं।
लेकिन उपयोग करने की कोई आवश्यकता नहीं है new Object()
।
पठनीयता, सरलता और निष्पादन गति के लिए, वस्तु शाब्दिक पद्धति का उपयोग करें।
जावास्क्रिप्ट ऑब्जेक्ट म्यूटेबल हैं
वस्तुएं परिवर्तनशील हैं: उन्हें संदर्भ द्वारा संबोधित किया जाता है, मूल्य से नहीं।
यदि व्यक्ति एक वस्तु है, तो निम्नलिखित कथन व्यक्ति की प्रतिलिपि नहीं बनाएगा:
const x = person; // Will not create a copy of person.
वस्तु x व्यक्ति की प्रति नहीं है । यह व्यक्ति है । x और व्यक्ति दोनों एक ही वस्तु हैं।
x में कोई भी परिवर्तन व्यक्ति को भी बदल देगा, क्योंकि x और व्यक्ति एक ही वस्तु हैं।
उदाहरण
const person = {
firstName:"John",
lastName:"Doe",
age:50, eyeColor:"blue"
}
const x = person;
x.age = 10; // Will change both x.age and person.age