درود دوستان! یکی از هدفهای جاوااسکریپت در زمانهای قدیم و قبل از اینکه این زبان اینقدر پیشرفت کنه و محبوب بشه، راحتی کار بود. راحتیای که به برنامهنویس اجازه میداد با سختگیری کمتری نسبت به زبانهای دیگه فعالیت کنه. اما این راحتگیری باعث بروز خطاهایی میشد. کدهایی که به ظاهر کاملاً منطقی بودن و جاوااسکریپت اونها رو معتبر میدونست، بعداً یقهٔ برنامهنویس رو میگرفت. مثلاً اجازهی مقدار دادن به یک متغیر تعریف نشده که توی اکثر زبانها یک خطای منطقی به حساب میاد:
x = 5; alert(x);
با اومدن اکمااسکریپت 5، یک ویژگی به اسم Strict Mode معرفی شده که همونطور که از اسمش مشخصه، فعال کردن اون باعث میشه جاوااسکریپت برنامهی ما رو با حالت سختگیرانه بررسی کنه و نهایتاً به قول معروف مدرن برنامهنویسی کنیم. توی این پست با رفتارهای این ویژگی بیشتر آشنا میشیم.
Strict Mode چیه؟ 🤔
Strict Mode یا حالت سختگیرانه حالتی هست که با تعریف کردن دستور "use strict" فعال میشه و جاوااسکریپت رو موظف میکنه تا برنامهی ما رو با سختگیری بیشتری پردازش کنه. اگه با حالت سختگیرانه کدنویسی کنیم، کدهای بهینهتر و سریعتری نسبت به حالت غیر سختگیرانه خواهیم داشت. وظیفهی حالت سختگیرانه نمایش ارورهای خاموش هست.
ارور خاموش چیه؟
ارور خاموش به اروری گفته میشه که جاوااسکریپت از اونها گذشت میکنه تا باعث توقف برنامه نشن.
فعال کردن حالت سختگیرانه
توی یک برنامهی جاوااسکریپتی، میشه همزمان هم کدهای سختگیرانه داشت و هم غیر سختگیرانه. کافیه از رشتهی "use strict" استفاده کنیم. دستور "use strict" رو میتونیم توی دو اسکوپ تعریف کنیم:
۱. گلوبال اسکوپ (حوزه سراسری)
اگه بالاترین قسمت فایل از "use strict" استفاده کنیم، حالت سختگیرانه برای همهی قسمتهای فایل فعال میشه. حتی داخل توابع.
از این دستور بصورت زیر استفاده میکنیم:
"use strict"; const x = 4; const y = 29; function welcome() { }
دقت کنین که برای فعال کردن حالت سختگیرانه بصورت سراسری، دستور "use strict" باید اول فایل تعریف شده باشه. در غیر این صورت این حالت فعال نمیشه: