কঠোর মোড
ECMAScript 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>