JavaScript में `strict mode`

यह लेख जावास्क्रिप्ट में सख्त मोड को समझाता है।

YouTube Video

JavaScript में strict mode

जावास्क्रिप्ट में, स्ट्रिक्ट मोड एक सुविधा है जिसे ECMAScript 5 (ES5) में कोड को सुरक्षित और त्रुटियों से बचाने के लिए पेश किया गया है। स्ट्रिक्ट मोड का उपयोग करने से कुछ लचीले सिंटैक्स और संभावित रूप से जोखिमभरे सुविधाएँ अक्षम हो जाती हैं, और कड़े त्रुटि जांच लागू की जाती है। यह डेवलपर्स को अप्रत्याशित व्यवहार से बचने और अधिक मजबूत और उच्च प्रदर्शन वाला कोड लिखने में सक्षम बनाता है।

strict mode को सक्षम करना

सख्त मोड को सक्षम करने के लिए, अपने कोड की शुरुआत में निम्नलिखित निर्देश जोड़ें।

1"use strict";

यह घोषणा पूरे स्क्रिप्ट पर या प्रति-फंक्शन आधार पर लागू की जा सकती है। उदाहरण के लिए, यदि इसे पूरे स्क्रिप्ट पर लागू किया जाए, तो आप इसे इस प्रकार लिख सकते हैं:।

1"use strict";
2
3function example() {
4    // Strict mode is applied
5}

यदि इसे प्रति फ़ंक्शन लागू किया जाए, तो आप इसे इस प्रकार लिख सकते हैं:।

1function example() {
2    "use strict";
3    // Strict mode is applied only within this function
4}

strict mode प्रत्येक स्कोप के आधार पर लागू होता है, इसलिए इसे किसी फ़ंक्शन के भीतर भी सक्षम किया जा सकता है। साथ ही, चूंकि मॉड्यूल्स में सख्त मोड डिफ़ॉल्ट रूप से सक्षम होता है, आपको इसे मॉड्यूल के भीतर अलग से घोषित करने की आवश्यकता नहीं है।

strict mode की मुख्य विशेषताएँ और विभिन्नताएँ

strict mode का उपयोग करने से JavaScript के कुछ डिफॉल्ट व्यवहार बदल जाते हैं। यहाँ मुख्य उदाहरण दिए गए हैं।

अघोषित ग्लोबल वेरिएबल्स पर प्रतिबंध

सामान्य JavaScript में, वेरिएबल डिक्लेरेशन को छोड़ना उन्हें स्वचालित रूप से ग्लोबल वेरिएबल के रूप में परिभाषित करता है, लेकिन strict mode में, यह एक त्रुटि पैदा करता है।

1"use strict";
2
3x = 10;  // Error: x is not defined

वेरिएबल्स को हमेशा var, let, या const का उपयोग करके घोषित किया जाना चाहिए।

आरक्षित शब्दों के उपयोग पर प्रतिबंध

संभावित भविष्य के JavaScript कीवर्ड्स (जैसे, implements, interface, package, आदि) को strict mode में वेरिएबल या फ़ंक्शन नामों के रूप में उपयोग नहीं किया जा सकता है।

1"use strict";
2
3var package = "strict mode";  // Error: Unexpected strict mode reserved word

this के व्यवहार में परिवर्तन

सामान्य मोड में, एक फ़ंक्शन के अंदर this ग्लोबल ऑब्जेक्ट (जैसे, ब्राउज़र में window) को संदर्भित करता है, लेकिन strict mode में, this undefined होता है।

1"use strict";
2
3function example() {
4    console.log(this);  // undefined
5}
6
7example();

यह this के गलत उपयोग के कारण होने वाली बग्स को रोकने में मदद करता है।

नॉन-डिलीटेबल प्रॉपर्टीज़ को डिलीट करने पर प्रतिबंध

सामान्य मोड में, नॉन-डिलीटेबल ऑब्जेक्ट प्रॉपर्टीज को हटाने के प्रयास को बिना त्रुटि के अनदेखा किया जाता है, लेकिन strict mode में, यह एक त्रुटि उत्पन्न करता है।

1"use strict";
2
3var obj = Object.freeze({name: "John"});
4delete obj.name;  // Error: Cannot delete property 'name'

डुप्लिकेट पैरामीटर नामों पर प्रतिबंध

सामान्य मोड में, एक ही नाम के साथ कई बार पैरामीटर घोषित करना अनुमति प्राप्त है, लेकिन strict mode में, यह एक त्रुटि उत्पन्न करता है।

1"use strict";
2
3function example(a, a) {
4    // Error: Duplicate parameter name not allowed in this context
5}

with कथन का निषेध

with कथन कोड की पठनीयता को कम कर सकता है और इसे strict mode में अनुमति नहीं दी जाती है।

1"use strict";
2
3with (Math) {
4    // Error: Strict mode code may not include a with statement
5}

strict mode के लाभ

strict mode कई तरीकों से कोड की सुरक्षा और दक्षता में सुधार करता है।

त्रुटि पहचान में सुधार

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

प्रदर्शन में सुधार

strict mode में, JavaScript इंजन कोड को और अधिक कुशलतापूर्वक अनुकूलित कर सकते हैं। इसके परिणामस्वरूप निष्पादन गति में सुधार हो सकता है।

कोड की सुरक्षा में सुधार

this का प्रबंधन अधिक सख्त हो जाता है, जिससे अनावश्यक वैश्विक ऑब्जेक्ट्स तक पहुंच को रोका जा सकता है, और कोड की सुरक्षा में सुधार होता है। साथ ही, आरक्षित शब्दों के उपयोग पर प्रतिबंध भविष्य में कीवर्ड्स के साथ टकराव को रोकता है।

संगतता और विचार

strict mode ECMAScript 5 में पेश किया गया था और उससे पहले जारी किए गए ब्राउज़रों में समर्थित नहीं है। हालांकि, strict mode को सक्षम करने को असमर्थित ब्राउज़र द्वारा सरलतापूर्वक उपेक्षित कर दिया जाता है, बिना स्क्रिप्ट को तोड़े। इसलिए, इसे आमतौर पर सुरक्षित रूप से इस्तेमाल किया जा सकता है।

किसी बड़े मौजूदा प्रोजेक्ट में strict mode को प्रस्तुत करते समय, अप्रत्याशित त्रुटियों से बचने के लिए गहन परीक्षण महत्वपूर्ण है।

निष्कर्ष

JavaScript का strict mode कोड गुणवत्ता में सुधार करने के लिए एक अत्यधिक उपयोगी विशेषता है। विशेष रूप से बड़े पैमाने के प्रोजेक्ट्स या टीम डेवलपमेंट के लिए, अनपेक्षित बग और त्रुटियों को रोकने और कोड की पठनीयता और स्थिरता को बढ़ाने के लिए सख्त मोड का सक्रिय रूप से उपयोग करने की सिफारिश की जाती है।

strict mode को समझना और सही ढंग से लागू करना JavaScript की खामियों से बचने में मदद करता है और सुरक्षित, अधिक कुशल विकास को सक्षम बनाता है।

आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।

YouTube Video