जावास्क्रिप्ट एक क्षमाशील भाषा है। इसका कुछ सिंटैक्स वैकल्पिक है, और भाषा कई अन्य की तुलना में अधिक अनुग्रह के साथ त्रुटियों से उबरती है। लेकिन यह हैंड-होल्डिंग पेनल्टी के साथ आता है: बग्स को पेश करना आसान हो सकता है, और असंगत कोड को पढ़ना मुश्किल है।
सौभाग्य से, यदि आप अधिक अनुशासन का प्रयोग करना चाहते हैं, तो ऐसा करने का एक आसान तरीका है: सख्त मोड। स्ट्रिक्ट मोड जावास्क्रिप्ट को आपके कोड में समस्याओं का सामना करने पर अधिक निर्णायक प्रतिक्रिया देने के लिए कहने का एक तरीका है।
एक सख्त मोड क्या है?
कई भाषाएं सख्त मोड की अवधारणा का उपयोग करती हैं: एक ऐसी विधा जो कोड का अधिक सख्ती से मूल्यांकन और संचालन करती है। आप एचटीएमएल सख्त सिद्धांत से परिचित हो सकते हैं, जो कुछ तत्वों और विशेषताओं को हटा देता है।
पर्ल, एक अन्य व्याख्या की गई स्क्रिप्टिंग भाषा, लंबे समय से अपनी सख्त विधा रही है। यह मोड कुछ प्रकार की असुरक्षित अभिव्यक्ति को प्रतिबंधित करता है।
मैं जावास्क्रिप्ट में सख्त मोड का उपयोग कैसे करूं?
एक स्क्रिप्ट के अंदर, किसी भी अन्य कथन से पहले, शीर्ष पर "सख्त का उपयोग करें" कथन डालें:
// यह पूरी स्क्रिप्ट सख्त मोड में होगी
'सख्त उपयोग';
ध्यान दें कि आप इससे पहले एक टिप्पणी शामिल कर सकते हैं, लेकिन कोई बयान नहीं। आप जावास्क्रिप्ट फ़ाइल में या HTML फ़ाइल में स्क्रिप्ट ब्लॉक की शुरुआत में सख्त मोड को सक्षम कर सकते हैं। आप फ़ंक्शन-दर-फ़ंक्शन आधार पर सख्त मोड भी सक्षम कर सकते हैं:
फ़ंक्शन सख्त () {
// फ़ंक्शन-स्तरीय सख्त मोड सिंटैक्स
'सख्त उपयोग';
वापसी "यह फ़ंक्शन सख्त है";
}
समारोह ढीला () {
वापसी "यह फ़ंक्शन सख्त नहीं है";
}
एक बार जब आप सख्त मोड सक्षम कर लेते हैं, तो सुनिश्चित करें कि आपने अपने कोड का परीक्षण किया है। यदि आप वेब के साथ काम कर रहे हैं, तो a. खोलें जावास्क्रिप्ट कंसोल, ताकि आप किसी भी नई त्रुटि की पहचान कर सकें।
जावास्क्रिप्ट का सख्त मोड क्या करता है?
संक्षेप में, सख्त मोड कुछ प्रकार के समस्याग्रस्त कोड को कम क्षमा करने वाला होगा। मुद्दों को अनदेखा करने और निष्पादन जारी रखने के बजाय, कुछ त्रुटियां स्क्रिप्ट को रोक देंगी। यह अक्सर अवांछनीय परिस्थितियों में आगे बढ़ने से अधिक सुरक्षित होता है।
एक्सीडेंटल ग्लोबल्स को रोकता है
सबसे अच्छा उदाहरण जो सख्त मोड से बचाता है वह है आकस्मिक वैश्विक चर का निर्माण। सामान्य निष्पादन में, यह कोड:
मायवर = 17;
यह मानते हुए कि आपने पहले myVar घोषित नहीं किया है, यह वैश्विक वस्तु पर myVar नाम की एक संपत्ति बनाएगा। एक वेब ब्राउज़र में, वैश्विक वस्तु आमतौर पर विंडो होती है:
कंसोल.लॉग (window.myVar);
>> 17
यदि आप "सख्त का उपयोग करें" कथन शामिल करते हैं, हालांकि, आपको कंसोल में एक त्रुटि दिखाई देगी, जैसे कुछ:
ध्यान में न आया संदर्भ त्रुटि: myVar परिभाषित नहीं है
इसका इतना उपयोगी कारण यह है कि यह टाइपो का एक सामान्य मामला उठाता है। एक चर नाम को गलत टाइप करना आसान है, और कई भाषाएं हमें ऐसी त्रुटि पर उठाती हैं।
लेकिन जावास्क्रिप्ट, डिफ़ॉल्ट रूप से, केवल वैश्विक वस्तु के दायरे को ग्रहण करता है और जारी रहता है जैसे कि कुछ भी गलत नहीं है। कुछ कोड जानबूझकर उस व्यवहार पर निर्भर हो सकते हैं, जो कुछ ऐसा है जिसके बारे में आपको सख्त मोड का उपयोग करने का निर्णय लेते समय पता होना चाहिए।
यह सभी देखें: ऑब्जेक्ट एनकैप्सुलेशन के साथ अपने कोड को कैसे साफ रखें
विफलता को स्पष्ट करता है
जावास्क्रिप्ट में कुछ व्यवहार विफल हो जाता है, लेकिन यह चुपचाप ऐसा करता है। आप ऐसी त्रुटियों के बारे में तब तक नहीं जान सकते जब तक कि आप उनकी विशेष रूप से जाँच नहीं कर रहे हों। उदाहरण के लिए, NaN वैश्विक वस्तु का एक विशेष गुण है जो एक अमान्य संख्या का प्रतिनिधित्व करता है। यह गुण केवल पढ़ने के लिए है, लेकिन आप अभी भी इसे लिखने का प्रयास कर सकते हैं:
नाएन = 2;
>> 2
लेकिन भले ही ऐसा लगता है कि वह असाइनमेंट सफल हुआ, लेकिन ऐसा नहीं हुआ:
नेन
>> NaN
सख्त मोड में, आपको यह बताते हुए एक वास्तविक त्रुटि मिलेगी कि आप NaN को असाइन नहीं कर सकते। यह कोड एक फ़ंक्शन का उपयोग करता है ताकि आप कंसोल में सख्त मोड प्रदर्शित कर सकें:
जावास्क्रिप्ट
फ़ंक्शन badNaN () { "सख्त का उपयोग करें"; खिड़की। नाएन = 2; }
>> अपरिभाषित
बदन ()
>> ध्यान में न आया लेखन त्रुटि: वस्तु '#' की केवल संपत्ति 'NaN' पढ़ने के लिए असाइन नहीं कर सकता
बदनाम पर (:1:46)
पर :1:1
यह एक उत्कृष्ट उदाहरण है जो दिखाता है, जबकि अज्ञान आनंद हो सकता है, कभी-कभी यह जानना बेहतर होता है कि क्या कुछ गलत होता है।
डुप्लिकेट पैरामीटर के बारे में चेतावनी
अंतिम उदाहरण जावास्क्रिप्ट की एक अल्पज्ञात विशेषता से संबंधित है। आपको यह जानकर आश्चर्य हो सकता है कि पैरामीटर नामों का अद्वितीय होना आवश्यक नहीं है:
फंक्शन डुपेपरम (ए, ए, सी) { कंसोल.लॉग (ए); }
>> अपरिभाषित
दुपेपरम (2, 4, 8)
>> 4
ध्यान दें कि जावास्क्रिप्ट डुप्लिकेट पैरामीटर के लिए नवीनतम मान निर्दिष्ट करता है। अब, यह व्यवहार विशेष रूप से उपयोगी नहीं है। वास्तव में, जावास्क्रिप्ट के लिए हमें यह बताना अधिक उपयोगी होगा कि यह एक त्रुटि है, और ठीक यही सख्त मोड करता है:
फ़ंक्शन डुपेपरम (ए, ए, सी) { "सख्त का उपयोग करें"; }
<< ध्यान में न आया सिंटैक्स त्रुटि: इस संदर्भ में डुप्लिकेट पैरामीटर नाम की अनुमति नहीं है
अतिरिक्त कोड विश्वास के लिए सख्त मोड का उपयोग करें
अच्छी प्रथाएं और उन्हें लागू करने के साधन साथ-साथ चलते हैं। कुछ संदर्भों में, जैसे कि एक पेशेवर प्रोग्रामिंग भूमिका, आप जितना संभव हो उतना अनुशासन का प्रयोग करना चाहेंगे। यहां तक कि अगर आप सिर्फ एक शौक ओपन-सोर्स प्रोजेक्ट पर काम कर रहे हैं, तो रखरखाव मानक के रूप में सख्त मोड का उपयोग करना पसंद कर सकता है।
अंततः, यह आप पर निर्भर है, लेकिन यह जानना उपयोगी है कि मदद करने वाला हाथ उपलब्ध है। एक प्रोग्रामर के रूप में, आपको हमेशा सर्वोत्तम प्रथाओं की तलाश में रहना चाहिए और उन्हें लागू करने के लिए आप क्या कर सकते हैं।
आपका कोड स्पष्ट और बनाए रखने में आसान होना चाहिए। यहां कई अन्य प्रोग्रामिंग सिद्धांत दिए गए हैं जिनकी मदद से आप अपने कार्य को साफ कर सकते हैं।
आगे पढ़िए
- प्रोग्रामिंग
- जावास्क्रिप्ट
- वेब विकास
- प्रोग्रामिंग की भाषाएँ
बॉबी एक प्रौद्योगिकी उत्साही हैं जिन्होंने दो दशकों तक एक सॉफ्टवेयर डेवलपर के रूप में काम किया। उन्हें गेमिंग का शौक है, स्विच प्लेयर मैगज़ीन में एडिटर-इन-चीफ के रूप में काम करते हुए, और ऑनलाइन प्रकाशन और वेब विकास के सभी पहलुओं में डूबे हुए हैं।
हमारे न्यूज़लेटर की सदस्यता लें
तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!
सब्सक्राइब करने के लिए यहां क्लिक करें