"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट में नेस्टेड ऑब्जेक्ट को समझना

जावास्क्रिप्ट में नेस्टेड ऑब्जेक्ट को समझना

2024-11-03 को प्रकाशित
ब्राउज़ करें:452

Understanding Nested Objects in JavaScript

ऑब्जेक्ट वे हैं जिनसे आप जावास्क्रिप्ट डेवलपर के रूप में काम कर रहे हैं, और कहने की जरूरत नहीं है, यह टाइपस्क्रिप्ट के लिए भी सच है। टाइपस्क्रिप्ट आपको ऑब्जेक्ट गुणों के लिए प्रकार परिभाषाओं को परिभाषित करने के कई तरीके प्रदान करता है। हम इस पोस्ट में उनमें से कुछ को देखेंगे, सरल उदाहरणों से शुरू करके कुछ उन्नत प्रकार की परिभाषाओं की ओर बढ़ेंगे।

जावास्क्रिप्ट में नेस्टेड ऑब्जेक्ट वे ऑब्जेक्ट होते हैं जिनमें उनके गुणों के रूप में अन्य ऑब्जेक्ट या सरणियाँ होती हैं। यह जटिल डेटा संरचनाओं के निर्माण की अनुमति देता है जो वास्तविक दुनिया की संस्थाओं का अधिक प्रभावी ढंग से प्रतिनिधित्व कर सकता है।
जावास्क्रिप्ट में, आप वस्तुओं को अन्य वस्तुओं में घोंसला बना सकते हैं। इसे ऑब्जेक्ट नेस्टिंग या ऑब्जेक्ट कंपोज़िशन के रूप में भी जाना जाता है। ऑब्जेक्ट नेस्टिंग आपको वस्तुओं के भीतर वस्तुओं को व्यवस्थित करके जटिल डेटा संरचनाएँ बनाने की अनुमति देता है।

नेस्टेड ऑब्जेक्ट बनाना

यहां उपयोगकर्ता प्रोफ़ाइल का प्रतिनिधित्व करने वाले नेस्टेड ऑब्जेक्ट का एक सरल उदाहरण दिया गया है:

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,
    },
};

इस दृष्टिकोण के लाभ हैं:

  • पुन: प्रयोज्यता: कैटरर प्रकार का आपके कोड के अन्य भागों में पुन: उपयोग किया जा सकता है, जैसे कि विभिन्न परिवहन प्रकारों (जैसे, हवाई जहाज, बसों) में।
  • स्पष्टता: कैटरर प्रकार को अलग करने से ट्रेन प्रकार साफ-सुथरा हो जाता है और समझने में आसान हो जाता है।
  • रखरखाव: यदि कैटरर की संरचना बदलती है, तो आपको इसे केवल एक ही स्थान पर अपडेट करना होगा।

नेस्टेड ऑब्जेक्ट को अलग-अलग प्रकारों में बांटकर, आप अपने टाइपस्क्रिप्ट कोड के संगठन और स्पष्टता को बढ़ा सकते हैं। यह दृष्टिकोण बेहतर पुन: प्रयोज्यता और रखरखाव की अनुमति देता है, जिससे जटिल डेटा संरचनाओं को प्रबंधित करना आसान हो जाता है।

आओ पूर्वावलोकन कर लें

नेस्टेड ऑब्जेक्ट जावास्क्रिप्ट में एक शक्तिशाली सुविधा है जो जटिल डेटा संरचनाओं के संगठन की अनुमति देता है।

नेस्टेड ऑब्जेक्ट का उपयोग करके, आप डेटा का अधिक सार्थक प्रतिनिधित्व बना सकते हैं, जिससे आपके कोड को समझना और बनाए रखना आसान हो जाता है। इसके अतिरिक्त, टाइपस्क्रिप्ट का उपयोग इन जटिल वस्तुओं से निपटने के दौरान संरचना और प्रकार की सुरक्षा को लागू करने में मदद कर सकता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/irenejpopova/understandard-nested-objects-in-javascript-4b31?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3