जावास्क्रिप्ट में ग्लोबल नेमस्पेस प्रदूषण और 2020 तक कैसे काबू पाएं -सागर जयभा

इस लेख में हम समझेंगे कि जावास्क्रिप्ट में ग्लोबल नेमस्पेस प्रदूषण क्या है और जावास्क्रिप्ट में इस समस्या को कैसे दूर किया जाए।

जावास्क्रिप्ट में ग्लोबल नेमस्पेस प्रदूषण

जावा, C # जैसी ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं में हमारे पास फंक्शन या मेथड ओवरलोडिंग की अवधारणा है। जिसमें हम एक ही विधि का नाम रख सकते हैं, लेकिन पैरामीटर अलग हैं। तो इस तरह के कोड उस प्रोग्रामिंग भाषाओं में काम करते हैं जो बिना किसी समस्या के कोड के नीचे देखते हैं

सिस्टम का उपयोग; वर्ग एबीसी {// दो पूर्णांक मूल्यों को जोड़ना। सार्वजनिक int Add (int a, int b) {int sum = a + b; वापसी राशि; } // तीन पूर्णांक मान जोड़ना। सार्वजनिक int Add (int a, int b, int c) {int sum = a + b + c; वापसी राशि; } // मुख्य विधि सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {// ऑब्जेक्ट बनाना abc ob = नया abc (); int sum1 = ob.Add (1, 2); Console.WriteLine ("दो का योग" + "पूर्णांक मान:" + sum1); int sum2 = ob.Add (1, 2, 3); Console.WriteLine ("तीन का योग" + "पूर्णांक मान:" + sum2); }}

उपरोक्त कोड में, हमने एक विधि जोड़ी है जो क्रमशः 2 और 3 पैरामीटर लेता है जो पूरी तरह से ठीक काम करता है।

हमारे जावास्क्रिप्ट मामले में मान लें कि हम एंटरप्राइज़-स्तरीय एप्लिकेशन विकसित कर रहे हैं और इतने सारे डेवलपर्स इस पर काम कर रहे हैं कि हम अच्छी तरह से समझ सकें, तो हम 2 डेवलपर्स सागर जयंती लेते हैं और दूसरा रमेश है।

सागर जयभा एक फ़ाइल customerInfo.js विकसित करता है और रमेश एक फ़ाइल विकसित करता है जिसका नाम custinfo.js है नीचे दिए गए कोड को देखें जिसमें हम इन 2 फ़ाइलों को अपनी अनुक्रमणिका HTML फ़ाइल में संदर्भित करते हैं।

CustomerInfo.js

function CustomerInfo (पहला नाम, अंतिम नाम) {this.FirstName = firstname; this.LastName = lastname; this.getFullName = function () {इसे वापस करें। फ़र्स्टनाम + "" + इस .LastName; }}

CustInfo.js

फ़ंक्शन CustomerInfo (पहला नाम, मध्य नाम, अंतिम नाम) {यह। फ़र्स्टनाम = पहला नाम; this.LastName = lastname; this.MiddleName = middleName; this.getFullName = function () {इसे वापस लौटाएं। FirstName + "" + this.MiddleName + "" + this.LastName; }}

2 फ़ाइलों के ऊपर देखें, जिसमें समान नाम वाला फ़ंक्शन होता है, लेकिन पैरामीटर गणना भिन्न होती है, जिसमें 2 पैरामीटर होते हैं और अन्य में 3 होते हैं।

जब आप इन जावास्क्रिप्ट फ़ाइलों को HTML पेज में जोड़ते हैं तो फ़ंक्शंस ग्लोबल नेमस्पेस में जोड़े जाते हैं और हमारे जावास्क्रिप्ट केस में ग्लोबल नेमस्पेस विंडो ऑब्जेक्ट होता है और जैसा कि हमारे फंक्शन के नाम समान हैं, केवल अंतिम जोड़े गए फ़ाइल फंक्शन को जोड़ा जाता है और पहले से फंक्शन को ओवरराइड किया जाता है। हमारा मामला 3 पैरामीटर फ़ंक्शन मौजूद है। छवि के नीचे देखें

और जब आप इसे HTML से HTML के लिए कहते हैं तो कोड नीचे दिया गया है

जावास्क्रिप्ट ऑब्जेक्ट ओरिएंटेड

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

वैश्विक नेमस्पेस प्रदूषण पर कैसे काबू पाएं?

जावास्क्रिप्ट में नाम स्थान का अभाव है। लेकिन हम नीचे दिए गए ऑब्जेक्ट को बनाने के लिए नेमस्पेस का उपयोग कर सकते हैं। नेमस्पेस के लिए ऑब्जेक्ट बनाने के लिए कोड है

var सागरजयभय = सागरजयभय || {};

आप नेस्टेड नेमस्पेस भी बना सकते हैं, जिसका नाम नेमस्पेस नाम है। जावास्क्रिप्ट में, आप किसी ऑब्जेक्ट को अन्य ऑब्जेक्ट्स के अंदर रख सकते हैं

var सागरजयभय = सागरजयभय || {}; सगरजयभयतेयमा = सागरजयभय.तेमा || {};

तो नीचे की पंक्ति का अर्थ है

var सागरजयभय = सागरजयभय || {};

यदि SagarJaybhay ऑब्जेक्ट मौजूद है, तो वह ऑब्जेक्ट किसी अन्य ऑब्जेक्ट का उपयोग करता है।

Js फ़ाइल का कोड नीचे है

index.html

जावास्क्रिप्ट ऑब्जेक्ट ओरिएंटेड

CustomerInfo.js

var सागरजयभय = सागरजयभय || {}; सगरजयभयतेयमा = सागरजयभय.तेमा || {}; SagarJaybhay.TeamA.CustomerInfo = function (firstname, lastname) {this.FirstName = नया नाम; this.LastName = lastname; this.getFullName = function () {इसे वापस करें। फ़र्स्टनाम + "" + इस .LastName; } इसे वापस करें; }

CustInfo.js

var सागरजयभय = सागरजयभय || {}; सगरजयभयतेयम .BB = SagarJaybhay.TeamB || {}; SagarJaybhay.TeamB.CustomerInfo = function (firstname, midName, lastname) {this.FirstName = firstname; this.LastName = lastname; this.MiddleName = middleName; this.getFullName = function () {इसे वापस लौटाएं। FirstName + "" + this.MiddleName + "" + this.LastName; } इसे वापस करें; }

जब फ़ंक्शन को फिर से लिखना इस ऑब्जेक्ट को वापस करने के लिए याद रखें।

गिटहब: - https://github.com/Sagar-Jaybhay

5 फरवरी, 2020 को मूल रूप से https://sagarjaybhay.net पर प्रकाशित।