ऑब्जेक्ट वे हैं जिनसे आप जावास्क्रिप्ट डेवलपर के रूप में काम कर रहे हैं, और कहने की जरूरत नहीं है, यह टाइपस्क्रिप्ट के लिए भी सच है। टाइपस्क्रिप्ट आपको ऑब्जेक्ट गुणों के लिए प्रकार परिभाषाओं को परिभाषित करने के कई तरीके प्रदान करता है। हम इस पोस्ट में उनमें से कुछ को देखेंगे, सरल उदाहरणों से शुरू करके कुछ उन्नत प्रकार की परिभाषाओं की ओर बढ़ेंगे।
जावास्क्रिप्ट में नेस्टेड ऑब्जेक्ट वे ऑब्जेक्ट होते हैं जिनमें उनके गुणों के रूप में अन्य ऑब्जेक्ट या सरणियाँ होती हैं। यह जटिल डेटा संरचनाओं के निर्माण की अनुमति देता है जो वास्तविक दुनिया की संस्थाओं का अधिक प्रभावी ढंग से प्रतिनिधित्व कर सकता है।
जावास्क्रिप्ट में, आप वस्तुओं को अन्य वस्तुओं में घोंसला बना सकते हैं। इसे ऑब्जेक्ट नेस्टिंग या ऑब्जेक्ट कंपोज़िशन के रूप में भी जाना जाता है। ऑब्जेक्ट नेस्टिंग आपको वस्तुओं के भीतर वस्तुओं को व्यवस्थित करके जटिल डेटा संरचनाएँ बनाने की अनुमति देता है।
यहां उपयोगकर्ता प्रोफ़ाइल का प्रतिनिधित्व करने वाले नेस्टेड ऑब्जेक्ट का एक सरल उदाहरण दिया गया है:
const userProfile = { username: "irena_doe", age: 30, contact: { email: "[email protected]", phone: { home: "123-456-7890", mobile: "987-654-3210" } }, preferences: { notifications: true, theme: "dark" } };
उदाहरण के लिए:
उपयोगकर्ताप्रोफ़ाइल ऑब्जेक्ट में उपयोगकर्ता नाम, आयु और संपर्क जैसे गुण हैं।
संपर्क संपत्ति स्वयं एक वस्तु है जिसमें ईमेल और फ़ोन शामिल है।
फ़ोन प्रॉपर्टी घर और मोबाइल नंबरों के साथ एक अन्य नेस्टेड ऑब्जेक्ट है।
नेस्टेड ऑब्जेक्ट के भीतर गुणों तक पहुंचने के लिए, आप डॉट नोटेशन या ब्रैकेट नोटेशन का उपयोग कर सकते हैं। यहां बताया गया है कि आप उपयोगकर्ता के मोबाइल फ़ोन नंबर तक कैसे पहुंच सकते हैं:
const mobileNumber = userProfile.contact.phone.mobile; console.log(mobileNumber); // Output: 987-654-3210
आप नेस्टेड संपत्तियों को भी संशोधित कर सकते हैं। उदाहरण के लिए, यदि आप थीम प्राथमिकता बदलना चाहते हैं:
userProfile.preferences.theme = "light"; console.log(userProfile.preferences.theme); // Output: light
टाइपस्क्रिप्ट के साथ काम करते समय, आप प्रकार की सुरक्षा सुनिश्चित करने के लिए नेस्टेड ऑब्जेक्ट के लिए प्रकार परिभाषित कर सकते हैं। यहां बताया गया है कि आप उपयोगकर्ता प्रोफ़ाइल ऑब्जेक्ट के लिए एक प्रकार कैसे परिभाषित कर सकते हैं:
type UserProfile = { username: string; age: number; contact: { email: string; phone: { home: string; mobile: string; }; }; preferences: { notifications: boolean; theme: string; }; }; const user: UserProfile = { username: "irena_doe", age: 30, contact: { email: "[email protected]", phone: { home: "123-456-7890", mobile: "987-654-3210" } }, preferences: { notifications: true, theme: "dark" } };
इस टाइपस्क्रिप्ट उदाहरण में, यूजरप्रोफाइल प्रकार यूजरप्रोफाइल ऑब्जेक्ट की संरचना को परिभाषित करता है, यह सुनिश्चित करता है कि सभी गुण सही ढंग से टाइप किए गए हैं।
आइए एक अधिक जटिल उदाहरण देखें जो एक पुस्तकालय प्रणाली का प्रतिनिधित्व करता है, जहां प्रत्येक पुस्तक में उसके लेखक, प्रकाशक और शैलियों सहित विभिन्न विवरण होते हैं।
नेस्टेड ऑब्जेक्ट को टाइप कीवर्ड का उपयोग करके ही परिभाषित किया जा सकता है। टाइपस्क्रिप्ट किसी नेस्टेड ऑब्जेक्ट की प्रकार परिभाषाओं को भी प्रकार परिभाषाओं में बदल सकता है। सूचकांक हस्ताक्षरों का उपयोग तब किया जा सकता है जब आप अनिश्चित हों कि किसी वस्तु में कितने गुण होंगे लेकिन आप किसी वस्तु के गुणों के प्रकार के बारे में निश्चित हैं
यहां बताया गया है कि आप इस परिदृश्य के लिए नेस्टेड ऑब्जेक्ट की संरचना कैसे कर सकते हैं:
const library = { name: "Central City Library", location: { address: { street: "123 Main St", city: "Central City", state: "CC", zip: "12345" }, coordinates: { latitude: 40.7128, longitude: -74.0060 } }, books: [ { title: "JavaScript: The Good Parts", author: { firstName: "Douglas", lastName: "Crockford" }, publishedYear: 2008, genres: ["Programming", "Technology"], availableCopies: 5 }, { title: "Clean Code", author: { firstName: "Robert", lastName: "C. Martin" }, publishedYear: 2008, genres: ["Programming", "Software Engineering"], availableCopies: 3 } ], totalBooks: function() { return this.books.length; } };
-प्रकाशन वर्ष: वह वर्ष जब पुस्तक प्रकाशित हुई थी।
-शैलियाँ: शैलियों की एक श्रृंखला जिससे पुस्तक संबंधित है।
-उपलब्ध प्रतियां: एक संख्या जो दर्शाती है कि कितनी प्रतियां उपलब्ध हैं।
आप इस नेस्टेड ऑब्जेक्ट तक विभिन्न तरीकों से पहुंच और हेरफेर कर सकते हैं। यहां बताया गया है कि पहली पुस्तक का लेखक कैसे प्राप्त करें:
const firstBookAuthor = library.books[0].author; console.log(`${firstBookAuthor.firstName} ${firstBookAuthor.lastName}`); // Output: Douglas Crockford
लाइब्रेरी में एक नई पुस्तक जोड़ने के लिए:
library.books.push({ title: "The Pragmatic Programmer", author: { firstName: "Andrew", lastName: "Hunt" }, publishedYear: 1999, genres: ["Programming", "Career"], availableCopies: 4 });
आप ऑब्जेक्ट में परिभाषित विधियों का भी उपयोग कर सकते हैं। उदाहरण के लिए, पुस्तकों की कुल संख्या प्राप्त करने के लिए:
console.log(library.totalBooks()); // Output: 3
यह उदाहरण दिखाता है कि जटिल डेटा, जैसे लाइब्रेरी सिस्टम का प्रतिनिधित्व करने के लिए अधिक व्यापक संरचना बनाने के लिए नेस्टेड ऑब्जेक्ट का उपयोग कैसे किया जा सकता है। संबंधित जानकारी को एक साथ व्यवस्थित करके, आप डेटा को आसानी से प्रबंधित और उसके साथ सार्थक तरीके से इंटरैक्ट कर सकते हैं।
कोड संगठन और रखरखाव में सुधार के लिए, आप नेस्टेड ऑब्जेक्ट को अलग-अलग प्रकारों में विभाजित कर सकते हैं। यह दृष्टिकोण आपको कैटरर प्रकार को अलग से परिभाषित करने और ट्रेन प्रकार के भीतर इसका उपयोग करने की अनुमति देता है। यहां बताया गया है कि आप इसे टाइपस्क्रिप्ट में कैसे कर सकते हैं:
// Define the type for Caterer type Caterer = { name: string; // Name of the catering company address: string; // Address of the catering company phone: number; // Phone number of the catering company };
ट्रेन के प्रकार को परिभाषित करना
इसके बाद, हम ट्रेन प्रकार को परिभाषित करेंगे, जो अपनी कैटरर संपत्ति के लिए कैटरर प्रकार का उपयोग करेगा।
// Define the type for Train type Train = { model: string; // Model of the train trainNumber: string; // Unique train number timeOfDeparture: Date; // Departure time timeOfArrival: Date; // Arrival time caterer: Caterer; // Reference to the Caterer type };
अब, हम कैटरर विवरण सहित ट्रेन प्रकार का एक उदाहरण बना सकते हैं।
// Example of a Train object const train: Train = { model: "Shinkansen N700", trainNumber: "S1234", timeOfDeparture: new Date("2024-10-25T09:00:00Z"), timeOfArrival: new Date("2024-10-25T11:30:00Z"), caterer: { name: "Gourmet Train Catering", address: "123 Culinary Ave, Tokyo", phone: 1234567890, }, };
नेस्टेड ऑब्जेक्ट को अलग-अलग प्रकारों में बांटकर, आप अपने टाइपस्क्रिप्ट कोड के संगठन और स्पष्टता को बढ़ा सकते हैं। यह दृष्टिकोण बेहतर पुन: प्रयोज्यता और रखरखाव की अनुमति देता है, जिससे जटिल डेटा संरचनाओं को प्रबंधित करना आसान हो जाता है।
नेस्टेड ऑब्जेक्ट जावास्क्रिप्ट में एक शक्तिशाली सुविधा है जो जटिल डेटा संरचनाओं के संगठन की अनुमति देता है।
नेस्टेड ऑब्जेक्ट का उपयोग करके, आप डेटा का अधिक सार्थक प्रतिनिधित्व बना सकते हैं, जिससे आपके कोड को समझना और बनाए रखना आसान हो जाता है। इसके अतिरिक्त, टाइपस्क्रिप्ट का उपयोग इन जटिल वस्तुओं से निपटने के दौरान संरचना और प्रकार की सुरक्षा को लागू करने में मदद कर सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3