नमस्कार पाठक,
मैं जावास्क्रिप्ट साक्षात्कार कोडिंग प्रश्न समझाने जा रहा हूं। जावास्क्रिप्ट कंपाइलर कैसे काम करता है और यह वास्तव में आउटपुट के रूप में क्या उत्पन्न करता है।
मैं आउटपुट के प्रत्येक भाग को तोड़ दूंगा, समझाऊंगा कि यह इस तरह क्यों दिखाई देता है, और इसे जिम्मेदार कोड की विशिष्ट पंक्तियों से वापस जोड़ दूंगा
let a = {}; let b = { key: 'b' }; let c = { key: 'c' }; a[b] = 123; a[c] = 456; console.log(a[b])
इससे पहले कि हम विवरण में उतरें, इस कोड स्निपेट को देखने के लिए कुछ देर रुकें। अपनी वर्तमान समझ के आधार पर यह अनुमान लगाने का प्रयास करें कि आउटपुट क्या होगा। यह दृष्टिकोण न केवल आपके जावास्क्रिप्ट कौशल को सुदृढ़ करने में मदद करता है बल्कि इसके बाद के स्पष्टीकरण को और अधिक सार्थक बनाता है
"इस बारे में सोचें कि जावास्क्रिप्ट प्रत्येक पंक्ति को कैसे संसाधित करेगा। एक बार जब आप अपना अनुमान लगा लें, तो यह देखने के लिए पढ़ते रहें कि क्या आपने इसे सही पाया है!"
let a = {};
उपरोक्त कोड, एक खाली ऑब्जेक्ट बनाता है, और वेरिएबल 'ए' को असाइन करता है।
let b = { key: 'b' };
यह पंक्ति एकल गुण कुंजी और मान 'बी' के साथ एक ऑब्जेक्ट बनाती है, और इसे वेरिएबल 'बी' को निर्दिष्ट करती है।
let c = { key: 'c' };
यह पंक्ति एकल संपत्ति कुंजी और मान 'सी' के साथ एक ऑब्जेक्ट बनाती है, और इसे वेरिएबल 'सी' को असाइन करती है।
a[b] = 123;
a[b] = 123 यह पंक्ति कुंजी के रूप में ऑब्जेक्ट a का उपयोग करके ऑब्जेक्ट की एक संपत्ति सेट करती है। जावास्क्रिप्ट में, जब किसी ऑब्जेक्ट को किसी अन्य ऑब्जेक्ट में कुंजी के रूप में उपयोग किया जाता है, तो ऑब्जेक्ट को पहले toString() विधि का उपयोग करके एक स्ट्रिंग में परिवर्तित किया जाता है। इस मामले में, ऑब्जेक्ट b का स्ट्रिंग प्रतिनिधित्व "[ऑब्जेक्ट ऑब्जेक्ट]" है। तो, ऑब्जेक्ट a की संपत्ति "[ऑब्जेक्ट ऑब्जेक्ट]" को मान 123 पर सेट किया गया है।
पंक्ति-5 के लिएa[c] = 456;"c"
भी एक ऑब्जेक्ट है और स्ट्रिंग में परिवर्तित हो जाता है, यह ""[ऑब्जेक्ट ऑब्जेक्ट]"" बन जाता है। इसलिए, लाइन
a[c] = 456;, "a[object object]"=456 के बराबर है, जिसका अर्थ है कि ऑब्जेक्ट में "[ऑब्जेक्ट है ऑब्जेक्ट]" संपत्ति और उसका मूल्य 456 है।
पंक्ति-6 के लिएconsole.log(a[b])456
है। जब आप संपत्ति "a[b]" तक पहुंचने का प्रयास करते हैं, तो जावास्क्रिप्ट फिर से b को स्ट्रिंग में बदल देता है, जो कि "[ऑब्जेक्ट ऑब्जेक्ट]" है। चूंकि ऑब्जेक्ट में कुंजी "[ऑब्जेक्ट ऑब्जेक्ट]" के साथ एक संपत्ति है और इसका मूल्य 456 है। तो यह आउटपुट प्रिंट करेगा।
निष्कर्षमिशन पूरा हुआ: संहिता को उजागर करना!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3