Objects in JavaScript
- जावास्क्रिप्ट में ऑब्जेक्ट
जावास्क्रिप्ट एक शक्तिशाली और बहुमुखी प्रोग्रामिंग भाषा है जिसका उपयोग वेब डेवलपमेंट में व्यापक रूप से किया जाता है। जावास्क्रिप्ट की मूलभूत अवधारणाओं में से एक है ऑब्जेक्ट। ऑब्जेक्ट जावास्क्रिप्ट में डेटा और कार्यों को व्यवस्थित करने का एक तरीका प्रदान करते हैं। यह लेख शुरुआती लोगों के लिए जावास्क्रिप्ट में ऑब्जेक्ट की अवधारणा को विस्तार से समझाएगा।
ऑब्जेक्ट क्या हैं?
वास्तविक जीवन में, हम विभिन्न वस्तुओं से घिरे होते हैं - जैसे कि कार, कुर्सी, मेज, इत्यादि। प्रत्येक वस्तु के कुछ गुण (properties) होते हैं जो उसे परिभाषित करते हैं, जैसे कि कार का रंग, मॉडल, और गति। वस्तुओं में कुछ व्यवहार भी होते हैं, जैसे कि कार चलाना, ब्रेक लगाना, और हॉर्न बजाना।
जावास्क्रिप्ट में, एक ऑब्जेक्ट एक ऐसी इकाई है जिसमें डेटा (गुण) और कोड (विधियाँ) होते हैं। ऑब्जेक्ट्स आपको डेटा और संबंधित कार्यों को एक साथ समूहित करने की अनुमति देते हैं, जिससे आपका कोड अधिक व्यवस्थित, पठनीय और रखरखाव योग्य हो जाता है।
ऑब्जेक्ट बनाना
जावास्क्रिप्ट में ऑब्जेक्ट बनाने के कई तरीके हैं। सबसे आम तरीका है लिटरल नोटेशन का उपयोग करना।
ऑब्जेक्ट लिटरल
ऑब्जेक्ट लिटरल कर्ली ब्रेसेस `{}` के अंदर गुण-मान जोड़े की एक सूची होती है। प्रत्येक गुण-मान जोड़ी में एक गुण नाम होता है, उसके बाद एक कोलन `:`, और फिर गुण का मान होता है। गुण-मान जोड़े को अल्पविराम `,` से अलग किया जाता है।
उदाहरण:
```javascript let car = {
brand: "Toyota",
model: "Camry",
year: 2023,
color: "Silver",
start: function() {
console.log("Engine started!");
}
}; ```
इस उदाहरण में, `car` एक ऑब्जेक्ट है जिसके पांच गुण हैं: `brand`, `model`, `year`, `color`, और `start`। `brand`, `model`, `year`, और `color` गुण स्ट्रिंग मान संग्रहीत करते हैं, जबकि `start` गुण एक फ़ंक्शन (विधि) संग्रहीत करता है।
कंस्ट्रक्टर फंक्शन
ऑब्जेक्ट बनाने का दूसरा तरीका कंस्ट्रक्टर फ़ंक्शन का उपयोग करना है। कंस्ट्रक्टर फ़ंक्शन एक ऐसा फ़ंक्शन है जिसका उपयोग नए ऑब्जेक्ट बनाने के लिए किया जाता है। कंस्ट्रक्टर फ़ंक्शन `new` कीवर्ड के साथ कॉल किया जाता है।
उदाहरण:
```javascript function Car(brand, model, year, color) {
this.brand = brand;
this.model = model;
this.year = year;
this.color = color;
this.start = function() {
console.log("Engine started!");
};
}
let myCar = new Car("Honda", "Civic", 2022, "Blue"); ```
इस उदाहरण में, `Car` एक कंस्ट्रक्टर फ़ंक्शन है जो चार तर्क लेता है: `brand`, `model`, `year`, और `color`। कंस्ट्रक्टर फ़ंक्शन ऑब्जेक्ट के गुणों को इन तर्कों के मानों के साथ इनिशियलाइज़ करता है। `new Car("Honda", "Civic", 2022, "Blue")` एक नया `Car` ऑब्जेक्ट बनाता है और उसे `myCar` वेरिएबल को असाइन करता है।
क्लास
जावास्क्रिप्ट ES6 (ECMAScript 2015) में, क्लास पेश की गई थीं। क्लास कंस्ट्रक्टर फ़ंक्शन के लिए एक सिंटैक्टिक शुगर प्रदान करती हैं।
उदाहरण:
```javascript class Car {
constructor(brand, model, year, color) {
this.brand = brand;
this.model = model;
this.year = year;
this.color = color;
}
start() {
console.log("Engine started!");
}
}
let myCar = new Car("Ford", "Mustang", 2023, "Red"); ```
यह उदाहरण कंस्ट्रक्टर फ़ंक्शन का उपयोग करने के समान ही है, लेकिन सिंटैक्स अधिक स्पष्ट और संरचित है।
ऑब्जेक्ट के गुणों तक पहुंचना
ऑब्जेक्ट के गुणों तक दो तरीकों से पहुंचा जा सकता है: डॉट नोटेशन और ब्रैकेट नोटेशन।
डॉट नोटेशन
डॉट नोटेशन में, ऑब्जेक्ट नाम के बाद एक डॉट `.` और फिर गुण नाम का उपयोग किया जाता है।
उदाहरण:
```javascript let car = {
brand: "Toyota", model: "Camry"
};
console.log(car.brand); // Output: Toyota console.log(car.model); // Output: Camry ```
ब्रैकेट नोटेशन
ब्रैकेट नोटेशन में, ऑब्जेक्ट नाम के बाद वर्ग कोष्ठक `[]` और फिर गुण नाम (एक स्ट्रिंग के रूप में) का उपयोग किया जाता है।
उदाहरण:
```javascript let car = {
brand: "Toyota", model: "Camry"
};
console.log(car["brand"]); // Output: Toyota console.log(car["model"]); // Output: Camry ```
ब्रैकेट नोटेशन तब उपयोगी होता है जब गुण नाम एक वेरिएबल में संग्रहीत होता है या जब गुण नाम में ऐसे वर्ण होते हैं जो डॉट नोटेशन में मान्य नहीं होते हैं (जैसे कि रिक्त स्थान)।
ऑब्जेक्ट विधियाँ
ऑब्जेक्ट विधियाँ ऐसे फ़ंक्शन हैं जो ऑब्जेक्ट से जुड़े होते हैं। विधियों का उपयोग ऑब्जेक्ट के डेटा पर संचालन करने के लिए किया जाता है।
उदाहरण:
```javascript let car = {
brand: "Toyota",
model: "Camry",
start: function() {
console.log("Engine started!");
}
};
car.start(); // Output: Engine started! ```
इस उदाहरण में, `start` एक विधि है जो कंसोल में "Engine started!" प्रिंट करती है।
`this` कीवर्ड
`this` कीवर्ड का उपयोग ऑब्जेक्ट विधि के अंदर ऑब्जेक्ट को संदर्भित करने के लिए किया जाता है। `this` का मान उस ऑब्जेक्ट पर निर्भर करता है जिस पर विधि को कॉल किया जाता है।
उदाहरण:
```javascript let car = {
brand: "Toyota",
model: "Camry",
displayInfo: function() {
console.log("Brand: " + this.brand);
console.log("Model: " + this.model);
}
};
car.displayInfo(); // Output: // Brand: Toyota // Model: Camry ```
इस उदाहरण में, `displayInfo` विधि के अंदर `this` कीवर्ड `car` ऑब्जेक्ट को संदर्भित करता है।
ऑब्जेक्ट पुनरावृत्ति
ऑब्जेक्ट के गुणों पर पुनरावृत्ति करने के लिए, आप `for...in` लूप का उपयोग कर सकते हैं।
उदाहरण:
```javascript let car = {
brand: "Toyota", model: "Camry", year: 2023
};
for (let key in car) {
console.log(key + ": " + car[key]);
} // Output: // brand: Toyota // model: Camry // year: 2023 ```
इस उदाहरण में, `for...in` लूप `car` ऑब्जेक्ट के प्रत्येक गुण पर पुनरावृत्ति करता है। `key` वेरिएबल में वर्तमान गुण का नाम होता है, और `car[key]` वर्तमान गुण का मान होता है।
ऑब्जेक्ट की प्रतियां बनाना
ऑब्जेक्ट की प्रतियां बनाने के कई तरीके हैं।
रेफरेंस द्वारा कॉपी करना
यदि आप केवल एक ऑब्जेक्ट को दूसरे वेरिएबल को असाइन करते हैं, तो आप ऑब्जेक्ट की एक प्रति नहीं बना रहे हैं। आप केवल ऑब्जेक्ट के लिए एक नया संदर्भ बना रहे हैं। इसका मतलब है कि यदि आप एक वेरिएबल के माध्यम से ऑब्जेक्ट को बदलते हैं, तो दूसरा वेरिएबल भी बदल जाएगा।
उदाहरण:
```javascript let car1 = {
brand: "Toyota", model: "Camry"
};
let car2 = car1;
car2.brand = "Honda";
console.log(car1.brand); // Output: Honda console.log(car2.brand); // Output: Honda ```
शैलो कॉपी
शैलो कॉपी ऑब्जेक्ट की एक नई प्रति बनाती है, लेकिन यह नेस्टेड ऑब्जेक्ट की केवल संदर्भों को कॉपी करती है। इसका मतलब है कि यदि आप एक नेस्टेड ऑब्जेक्ट को बदलते हैं, तो दोनों ऑब्जेक्ट बदल जाएंगे।
आप `Object.assign()` विधि का उपयोग करके एक शैलो कॉपी बना सकते हैं।
उदाहरण:
```javascript let car1 = {
brand: "Toyota",
model: "Camry",
owner: {
name: "John Doe"
}
};
let car2 = Object.assign({}, car1);
car2.owner.name = "Jane Doe";
console.log(car1.owner.name); // Output: Jane Doe console.log(car2.owner.name); // Output: Jane Doe ```
डीप कॉपी
डीप कॉपी ऑब्जेक्ट की एक पूरी तरह से नई प्रति बनाती है, जिसमें सभी नेस्टेड ऑब्जेक्ट भी शामिल हैं। इसका मतलब है कि यदि आप एक ऑब्जेक्ट को बदलते हैं, तो दूसरा ऑब्जेक्ट अपरिवर्तित रहेगा।
आप `JSON.parse(JSON.stringify(object))` का उपयोग करके एक डीप कॉपी बना सकते हैं।
उदाहरण:
```javascript let car1 = {
brand: "Toyota",
model: "Camry",
owner: {
name: "John Doe"
}
};
let car2 = JSON.parse(JSON.stringify(car1));
car2.owner.name = "Jane Doe";
console.log(car1.owner.name); // Output: John Doe console.log(car2.owner.name); // Output: Jane Doe ```
ऑब्जेक्ट के उदाहरण
यहां कुछ सामान्य ऑब्जेक्ट के उदाहरण दिए गए हैं:
- **Date:** तिथि और समय का प्रतिनिधित्व करता है।
- **Array:** मानों की एक सूची का प्रतिनिधित्व करता है।
- **String:** पाठ का प्रतिनिधित्व करता है।
- **Number:** संख्यात्मक मान का प्रतिनिधित्व करता है।
- **Boolean:** सत्य या असत्य मान का प्रतिनिधित्व करता है।
जावास्क्रिप्ट में ऑब्जेक्ट का उपयोग
ऑब्जेक्ट जावास्क्रिप्ट में डेटा को व्यवस्थित करने और प्रबंधित करने का एक शक्तिशाली तरीका हैं। उनका उपयोग कई अलग-अलग परिदृश्यों में किया जा सकता है, जिनमें शामिल हैं:
- **डेटा मॉडलिंग:** वास्तविक दुनिया की वस्तुओं और अवधारणाओं का प्रतिनिधित्व करने के लिए।
- **UI घटक:** वेब पेज पर इंटरैक्टिव तत्वों का निर्माण करने के लिए।
- **API क्लाइंट:** बाहरी API से डेटा प्राप्त करने और भेजने के लिए।
- **गेम डेवलपमेंट:** गेम की वस्तुओं और पात्रों का प्रतिनिधित्व करने के लिए।
निष्कर्ष
ऑब्जेक्ट जावास्क्रिप्ट प्रोग्रामिंग का एक मूलभूत हिस्सा हैं। वे डेटा और कार्यों को व्यवस्थित करने का एक शक्तिशाली तरीका प्रदान करते हैं, जिससे आपका कोड अधिक पठनीय, रखरखाव योग्य और पुन: प्रयोज्य हो जाता है। इस लेख में, हमने जावास्क्रिप्ट में ऑब्जेक्ट की अवधारणा को विस्तार से समझा है, जिसमें ऑब्जेक्ट बनाना, गुणों तक पहुंचना, विधियों का उपयोग करना, और ऑब्जेक्ट की प्रतियां बनाना शामिल है।
यह लेख आपको जावास्क्रिप्ट में ऑब्जेक्ट के बारे में एक ठोस समझ प्रदान करेगा और आपको अपनी परियोजनाओं में उनका प्रभावी ढंग से उपयोग करने में मदद करेगा।
जावास्क्रिप्ट में फंक्शन जावास्क्रिप्ट में एरे जावास्क्रिप्ट में स्ट्रिंग जावास्क्रिप्ट में डेटा टाइप्स जावास्क्रिप्ट में लूप जावास्क्रिप्ट में कंडीशनल स्टेटमेंट जावास्क्रिप्ट में इवेंट जावास्क्रिप्ट में DOM जावास्क्रिप्ट में AJAX जावास्क्रिप्ट में JSON जावास्क्रिप्ट में प्रोटोटाइप जावास्क्रिप्ट में इनहेरिटेंस जावास्क्रिप्ट में क्लोजर जावास्क्रिप्ट में मॉड्यूल बाइनरी ऑप्शन ट्रेडिंग तकनीकी विश्लेषण वॉल्यूम विश्लेषण रिस्क मैनेजमेंट मनी मैनेजमेंट ट्रेडिंग रणनीति बाइनरी ऑप्शन ब्रोकर बाइनरी ऑप्शन प्लेटफॉर्म बाइनरी ऑप्शन सिग्नल बाइनरी ऑप्शन चार्ट बाइनरी ऑप्शन इंडिकेटर
अभी ट्रेडिंग शुरू करें
IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)
हमारे समुदाय में शामिल हों
हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

