सख्त मोड
ईसीएमएस्क्रिप्ट 5 द्वारा जावास्क्रिप्ट के लिए सख्त मोड पेश किया गया था। सख्त मोड का उपयोग करके जावास्क्रिप्ट मूक त्रुटियों का आसानी से पता लगाया जा सकता है क्योंकि वे एक त्रुटि फेंक देंगे। यह जावास्क्रिप्ट डिबगिंग को बहुत आसान बनाता है और डेवलपर्स को अनावश्यक गलतियों से बचने में मदद करता है।
चूंकि एक अघोषित चर का सामना करने पर सख्त मोड एक अपवाद फेंकता है, मेमोरी लीक बहुत कम हो जाएगी। जहां सख्त मोड की आवश्यकता होती है, वहां कोड के सामने "सख्त का उपयोग करें" का उपयोग करके सख्त मोड को सक्षम किया जा सकता है।
निम्नलिखित उदाहरण में दो चर का उपयोग किया गया था, एक फ़ंक्शन के बाहर है और दूसरा फ़ंक्शन के अंदर है। फ़ंक्शन के बाहर उपयोग किया जाने वाला वेरिएबल घोषित नहीं किया जाता है, जबकि किसी फ़ंक्शन के अंदर घोषित वेरिएबल को var कीवर्ड का उपयोग करके घोषित किया जाता है। फ़ंक्शन के अंदर सख्त मोड का उपयोग करने से कोई त्रुटि नहीं होती है क्योंकि चर को उसी समय घोषित किया जाता है फ़ंक्शन के बाहर चर में मान प्रदर्शित किया जाएगा क्योंकि कोई सख्त मोड उपयोग नहीं किया गया है।
उदाहरण-1
<html> <body> <script> myString1 = "non-strict mode will allow undeclared variables" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" var myString2 = "Strict mode will allow declared variables" document.write(myString2); } myFun(); </script> </body> </html>
आउटपुटnon-strict mode will allow undeclared variables
Strict mode will allow declared variables
निम्नलिखित उदाहरण में, फ़ंक्शन के अंदर चर घोषित नहीं किया गया है और सख्त मोड लागू किया गया है। तो उस चर के अंदर मूल्य निष्पादित नहीं किया जाएगा और त्रुटि फेंकता है। हमें ब्राउज़र कंसोल में त्रुटि मिल सकती है।
उदाहरण-2
<html> <body> <script> myString1 = "non-strict mode will allow undeclared variables" document.write(myString1); document.write("</br>"); function myFun(){ "use strict" myString2 = "Strict mode will allow declared variables" document.write(myString2); } myFun(); </script> </body> </html>