जावास्क्रिप्ट "सख्त उपयोग करें"

इस ट्यूटोरियल में, आप उदाहरणों की सहायता से जावास्क्रिप्ट के 'कड़े' सिंटैक्स का उपयोग करेंगे।

'use strict';बताती है कि जावास्क्रिप्ट कोड को ' सख्त मोड ' में निष्पादित किया जाना चाहिए । इससे अच्छा और सुरक्षित जावास्क्रिप्ट कोड लिखना आसान हो जाता है। उदाहरण के लिए,

 myVariable = 9;

यहाँ, myVariable घोषित किए बिना बनाया गया है। यह जावास्क्रिप्ट में एक वैश्विक चर के रूप में काम करता है। हालांकि, यदि आप इसे सख्त मोड में उपयोग करते हैं, तो प्रोग्राम एक त्रुटि फेंक देगा। उदाहरण के लिए,

 'use strict'; // Error myVariable = 9;

उपरोक्त कोड एक त्रुटि फेंकता है क्योंकि myVariable घोषित नहीं किया गया है। सख्त मोड में, आप उन्हें घोषित किए बिना चर का उपयोग नहीं कर सकते।

यह इंगित करने के लिए कि यह प्रोग्राम सख्त मोड में है, हमने उपयोग किया है

 'use strict';

कार्यक्रम के शीर्ष पर।

आप प्रोग्राम की शुरुआत में 'use strict';या जोड़कर सख्त मोड की घोषणा कर सकते हैं "use strict";

जब आप एक कार्यक्रम की शुरुआत में सख्त मोड की घोषणा करते हैं, तो इसमें वैश्विक गुंजाइश होगी और कार्यक्रम के सभी कोड सख्त मोड में निष्पादित होंगे।

चर में सख्त मोड

सख्त मोड में, बिना घोषित किए एक चर का उपयोग करके एक त्रुटि फेंकता है।

नोट : आपको कार्यक्रम की शुरुआत में सख्त मोड घोषित करने की आवश्यकता है । यदि आप कुछ कोड के नीचे सख्त मोड की घोषणा करते हैं, तो यह काम नहीं करेगा।

उदाहरण के लिए,

 console.log("some code"); // 'use strict' is ignored // must be at the top "use strict"; x = 21; // does not throw an error

समारोह में सख्त मोड

आप किसी फ़ंक्शन के अंदर सख्त मोड का भी उपयोग कर सकते हैं। उदाहरण के लिए,

 myVariable = 9; console.log(myVariable); // 9 function hello() ( // applicable only for this function 'use strict'; string = 'hello'; // throws an error ) hello();

यदि आप 'use strict';किसी फ़ंक्शन के अंदर उपयोग करते हैं, तो फ़ंक्शन के अंदर कोड सख्त मोड में होगा।

उपरोक्त कार्यक्रम में, फ़ंक्शन के 'use strict';अंदर उपयोग किया जाता है hello()। इसलिए, सख्त मोड केवल फ़ंक्शन के अंदर लागू होता है।

जैसा कि आप देख सकते हैं, कार्यक्रम की शुरुआत में, myVariableघोषित किए बिना उपयोग किया जाता है।

यदि आप 'use strict';कार्यक्रम के शीर्ष पर घोषित करते हैं , तो आप फ़ंक्शन के अंदर भी घोषित किए बिना एक चर का उपयोग नहीं कर सकते। उदाहरण के लिए,

 // applicable to whole program 'use strict'; function hello() ( string = 'hello'; // throws an error ) hello();

नोट : सख्त मोड ()ब्रेसिज़ के साथ स्टेटमेंट ब्लॉक करने के लिए लागू नहीं होता है ।

चीजें सख्त मोड में अनुमति नहीं है

1. अघोषित चर की अनुमति नहीं है।

 'use strict'; a = 'hello'; // throws an error

2. अघोषित वस्तुओं की अनुमति नहीं है।

 'use strict'; person = (name: 'Carla', age: 25); // throws an error

3. किसी ऑब्जेक्ट को हटाने की अनुमति नहीं है।

 'use strict'; let person = (name: 'Carla'); delete person; // throws an error

4. एक पैरामीटर नाम की नकल की अनुमति नहीं है।

 "use strict"; function hello(p1, p1) ( console.log('hello')); // throws an error hello();

5. एक गैर-योग्य संपत्ति को सौंपने की अनुमति नहीं है।

 'use strict'; let obj1 = (); Object.defineProperty(obj1, 'x', ( value: 42, writable: false )); // assignment to a non-writable property obj1.x = 9; // throws an error

6. गेट-ओनली प्रॉपर्टी को असाइन करने की अनुमति नहीं है।

 'use strict'; let obj2 = ( get x() ( return 17; ) ); // assignment to a getter-only property obj2.x = 5; // throws an error

7. गैर-एक्स्टेंसिबल ऑब्जेक्ट पर एक नई संपत्ति को असाइन करने की अनुमति नहीं है।

 'use strict'; let obj = (); Object.preventExtensions(obj); // Assignment to a new property on a non-extensible object obj.newValue = 'new value'; // throws an error

8. ऑक्टल सिंटैक्स की अनुमति नहीं है।

 'use strict'; let a = 010; // throws an error

9. चर नाम तर्क और निष्कासन की अनुमति नहीं है।

 'use strict'; let arguments = 'hello'; // throws an error let eval = 44;

10. आप इन आरक्षित खोजशब्दों को सख्त मोड में उपयोग नहीं कर सकते।

implements interface let package private protected public static yield

स्ट्रिक्ट मोड के लाभ

सख्त मोड का उपयोग:

  • एक क्लीनर कोड लिखने में मदद करता है
  • वास्तविक त्रुटियों में पहले से स्वीकृत मौन त्रुटियों (खराब सिंटैक्स) को परिवर्तित करता है और एक त्रुटि संदेश फेंकता है
  • "सुरक्षित" जावास्क्रिप्ट लिखना आसान बनाता है

दिलचस्प लेख...