JavaScript Use Strict
در JavaScript، دستور "use strict" برای فعالکردن حالت سختگیرانه (Strict Mode) استفاده میشود. این حالت باعث میشود کد شما امنتر باشد و خطاهای رایج زودتر شناسایی شوند.
"use strict" چیست؟
این یک دستور (directive) است که به موتور JavaScript میگوید کد را در حالت سختگیرانه اجرا کند؛ یعنی نسخهای محدودتر و دقیقتر از JavaScript.
میتوان آن را روی:
-
کل فایل (اسکریپت)
-
یا فقط یک تابع
اعمال کرد.
چرا از Strict Mode استفاده کنیم؟
Strict Mode:
-
از ایجاد متغیرهای سراسری ناخواسته جلوگیری میکند
-
بهجای نادیده گرفتن خطاها، خطا میدهد
-
کیفیت و خوانایی کد را بالا میبرد
-
دیباگکردن را آسانتر میکند
-
در ماژولهای ES بهصورت پیشفرض فعال است
مثال: جلوگیری از متغیر سراسری ناخواسته
❌ بدون Strict Mode
x = 10; // خطایی نمیدهد و یک متغیر global میسازد
console.log(x);
✅ با Strict Mode
x = 10; // ❌ ReferenceError
محدودیتهای مهم در Strict Mode
1. استفاده از متغیر بدون تعریف
y = 5; // ReferenceError
2. نام تکراری پارامترها
“use strict”;
function test(a, a) {} // SyntaxError
3. مقدار this در توابع
“use strict”;
function show() {
console.log(this);
}
show(); // undefined (نه window)
4. تغییر مقادیر فقطخواندنی
NaN = 5; // TypeError
Strict Mode فقط برای یک تابع
function myFunc() {
“use strict”;
// Strict Mode فقط داخل این تابع فعال است
}
Strict Mode در JavaScript مدرن
-
ماژولهای ES (
.mjsیاtype="module") همیشه Strict هستند -
فریمورکهایی مثل React، Vue و Angular بهصورت پیشفرض از Strict Mode استفاده میکنند
export function hello() {}
آیا باید از Strict Mode استفاده کنیم؟
✅ بله، مخصوصاً اگر:
-
JavaScript خام (Vanilla JS) مینویسید
-
کد تمیز و امن میخواهید
-
در حال یادگیری JavaScript هستید
⚠️ لازم نیست اگر:
-
از ES Modules یا فریمورکهای مدرن استفاده میکنید (خودشان strict هستند)
دیدگاهتان را بنویسید