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

घुंघराले ब्रेसिज़ का प्लेसमेंट जावास्क्रिप्ट में अलग-अलग परिणाम क्यों देता है?

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

Why Does the Placement of Curly Braces Yield Different Results in JavaScript?

जावास्क्रिप्ट की घुंघराले ब्रेस पहेली की पहेली: अलग-अलग परिणामों के पीछे की सच्चाई का खुलासा

जावास्क्रिप्ट कोड की खोज करते समय, आउटपुट में विसंगतियां प्रतीत होने वाले मामूली परिवर्तनों से उत्पन्न हो सकती हैं, जैसे कि घुंघराले ब्रेसिज़ की नियुक्ति. इस घटना ने कई कोडर्स को भ्रमित कर दिया है, जो इसके अंतर्निहित कारण के गहन विश्लेषण की मांग कर रहे हैं।

प्रदान किए गए कोड उदाहरणों में, फ़ंक्शन टेस्ट() अपने शुरुआती घुंघराले ब्रेस की स्थिति के आधार पर अलग-अलग व्यवहार प्रदर्शित करता है। जब ब्रेस एक अलग लाइन पर स्थित होता है, तो फ़ंक्शन अपरिभाषित लौटता है, जिससे उपयोगकर्ता भ्रमित हो जाते हैं। हालाँकि, जब ब्रेस रिटर्न स्टेटमेंट के समान लाइन पर रहता है, तो टेस्ट() एक ऑब्जेक्ट को जावास्क्रिप्ट नाम की संपत्ति और "शानदार" के मान के साथ लौटाता है।

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

function test()
{
  return; // 

जैसा कि सम्मिलित अर्धविराम से स्पष्ट है, रिटर्न स्टेटमेंट घुंघराले ब्रेस तक पहुंचने से पहले समाप्त हो जाता है, जिसके परिणामस्वरूप एक अपरिभाषित ऑब्जेक्ट असाइनमेंट होता है। यह, बदले में, अपरिभाषित आउटपुट की ओर ले जाता है। फ़ंक्शन परीक्षण() { वापसी {/*

इस परिदृश्य में, परीक्षण() अपेक्षित कुंजी-मूल्य जोड़ी के साथ एक ऑब्जेक्ट लौटाता है, वांछित "शानदार" आउटपुट देता है।

इन सूक्ष्म बारीकियों को समझना जावास्क्रिप्ट में महारत हासिल करने और इससे बचने के लिए महत्वपूर्ण है संभावित ख़तरे। ब्रेस प्लेसमेंट और एएसआई के निहितार्थों पर सावधानीपूर्वक विचार के माध्यम से, आप लगातार और पूर्वानुमानित कोड निष्पादन सुनिश्चित करते हुए, जावास्क्रिप्ट विकास की जटिलताओं को आत्मविश्वास से नेविगेट कर सकते हैं।
विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: 1729600398 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3