در جاوا اسکریپت محدودیتی برای استفاده از متغییر ها وجود ندارد . بعد از ورژن es5 محدودیتی برای استفاده از متغییر های تعریف نشده ( strict ) ایجاد شد .
برای استفاده از این محدودیت به بالای هر فایل جاوا اسکریپتی یک خط کد میتوان اضافه کرد.
"use strict"
با این یک خط کد این محدودیت برای متغیبر ها اعمال میشود . و دیگر نمیتوان از متغییر های تعریف نشده استفاده کرد و مقداری را به آنها انتصاب کرد .
علت استرینگ بودن آن این است که در مرورگر های قدیمی این یک دستور نباشد و به ارور نخوریم . فقط یک متغییر در نظر گرفته می شود و مقدار استرینگ را درون آن میریزد .
اتفاقات دیگری نیز به وجود آمده اند که عبارتند از :
حذف delete : دستور delete دیگر اجرا نمی شود و با خطا مواجه میشوید .
حذف اعداد Hex: دیگر نمیتوان از اعداد مبنای ۸ استفاده کرد .
عدم امکان تغییر متغییر های read only:
Object.defineProperty( data , "name" , { value: "ali" , writable:false } )
دیگر نمیتوان مقدار ali را تغییر داد . و هنگام تغییر با خطا مواجه می شویم .
و...