जावास्क्रिप्ट कोड की खोज करते समय, आउटपुट में विसंगतियां प्रतीत होने वाले मामूली परिवर्तनों से उत्पन्न हो सकती हैं, जैसे कि घुंघराले ब्रेसिज़ की नियुक्ति. इस घटना ने कई कोडर्स को भ्रमित कर दिया है, जो इसके अंतर्निहित कारण के गहन विश्लेषण की मांग कर रहे हैं।
प्रदान किए गए कोड उदाहरणों में, फ़ंक्शन टेस्ट() अपने शुरुआती घुंघराले ब्रेस की स्थिति के आधार पर अलग-अलग व्यवहार प्रदर्शित करता है। जब ब्रेस एक अलग लाइन पर स्थित होता है, तो फ़ंक्शन अपरिभाषित लौटता है, जिससे उपयोगकर्ता भ्रमित हो जाते हैं। हालाँकि, जब ब्रेस रिटर्न स्टेटमेंट के समान लाइन पर रहता है, तो टेस्ट() एक ऑब्जेक्ट को जावास्क्रिप्ट नाम की संपत्ति और "शानदार" के मान के साथ लौटाता है।
इस पहेली को सुलझाने के लिए, इसे समझना महत्वपूर्ण है जावास्क्रिप्ट में स्वचालित अर्धविराम प्रविष्टि (एएसआई) की अवधारणा। यह सुविधा स्वचालित रूप से पंक्तियों के अंत में अर्धविराम डालती है, जो उनके बिना भी वाक्यात्मक रूप से सही होगा। नतीजतन, पहला कोड स्निपेट प्रभावी रूप से इस प्रकार अनुवादित होता है:
function test()
{
return; // जैसा कि सम्मिलित अर्धविराम से स्पष्ट है, रिटर्न स्टेटमेंट घुंघराले ब्रेस तक पहुंचने से पहले समाप्त हो जाता है, जिसके परिणामस्वरूप एक अपरिभाषित ऑब्जेक्ट असाइनमेंट होता है। यह, बदले में, अपरिभाषित आउटपुट की ओर ले जाता है। फ़ंक्शन परीक्षण() {
वापसी {/*
इस परिदृश्य में, परीक्षण() अपेक्षित कुंजी-मूल्य जोड़ी के साथ एक ऑब्जेक्ट लौटाता है, वांछित "शानदार" आउटपुट देता है।
इन सूक्ष्म बारीकियों को समझना जावास्क्रिप्ट में महारत हासिल करने और इससे बचने के लिए महत्वपूर्ण है संभावित ख़तरे। ब्रेस प्लेसमेंट और एएसआई के निहितार्थों पर सावधानीपूर्वक विचार के माध्यम से, आप लगातार और पूर्वानुमानित कोड निष्पादन सुनिश्चित करते हुए, जावास्क्रिप्ट विकास की जटिलताओं को आत्मविश्वास से नेविगेट कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3