دستورات دقیق جاوااسکریپت

دستورات دقیق جاوااسکریپت

دسته بندی : آموزش Javascript سطح مقاله : متوسط زمان مطالعه : 5 دقیقه آخرین بروز رسانی: 26 اسفند 1399

هنگام نوشتن کد جاوا اسکریپت ، مشکلات مختلفی وجود دارد که ممکن است با آنها روبرو شوید. یکی از مواردی که می تواند به شما در جلوگیری از اشکالات کمک کند حالت سخت افزاری JavaScript است که می توانید با استفاده از دستورالعمل سختگیرانه JavaScript آن را روشن کنید.

نوشتن جاوا اسکریپت در حالت دقیق به شما امکان می دهد از اشکالات احتمالی که ممکن است در صورت انحراف تصادفی از نحو صحیح جاوا اسکریپت با آن روبرو شوید ، جلوگیری کنید. حالت سخت همچنین در موارد اشتباه تایپی مفید است ، که می تواند متغیرهای جدید غیرضروری ایجاد کند.

نکات اصلی دستورات دقیق جاوااسکریپت:

  • با استفاده از دستورالعمل سختگیرانه JS ، کد JavaScript را تنظیم می کنید تا در حالت سخت اجرا شود.
  • این بخشنامه بسته به جایی که نوشته شده است ، شناسایی خواهد شد. این می تواند کل سند یا عملکرد خاصی باشد.

JS Use Strict چیست؟

این بخشنامه به تازگی در ECMAScript5 معرفی شده است. بنابراین ، توسط نسخه های قبلی JavaScript نادیده گرفته می شود. این یک اصطلاح واقعی است ، نه یک جمله.

هدف از دستورالعمل سختگیرانه جاوا اسکریپت اجرای کد در حالت سخت است. این حالت شرایط خاصی را برای اجرای کد تنظیم می کند تا تمیزتر شود. به عنوان مثال ، با حالت دقیق ، نمی توانید از متغیرهای اعلام نشده استفاده کنید.

بخاطر داشته باشید که حالت سختگیرانه بصورت جهانی پشتیبانی نمی شود. اینها اولین نسخه از مرورگرهای اصلی هستند که از این بخشنامه پشتیبانی می کنند (نسخه های بعدی نیز از آن پشتیبانی می کنند):

  • نسخه اینترنت اکسپلورر 10
  • فایرفاکس نسخه 4
  • نسخه کروم 13
  • سافاری نسخه 6
  • نسخه اپرا 12.1

نحو دقیق

نگاهی به نحوه ورود شما به حالت سختگیرانه در JavaScript:

“استفاده دقیق”؛

نحو مورد استفاده برای اعلام حالت سخت با نسخه های قدیمی JavaScript سازگار است. با این حال ، در آنها کار نمی کند. به عنوان مثال ، هنگام تدوین عددهای تحت اللفظی (1 + 2؛) یا اصطلاحات رشته ای (“John Johnson”؛) جاوا اسکریپت مشکلی نخواهد داشت. فقط به متغیری که وجود ندارد کامپایل می شود و می میرد.

بنابراین ، استفاده از دستورالعمل دقیق فقط توسط کامپایلرهای جدید به درستی خوانده می شود. قدیمی ها به سادگی آن را تشخیص نخواهند داد.

توجه: اطمینان حاصل کنید که علامت های نقل قول و نقطه ویرگول را در انتها فراموش نکنید: “use دقیق”؛ .

دلایل استفاده دستورات دقیق جاوااسکریپت

این روش نوشتن جاوا اسکریپت ممکن است ایمن تر از حد معمول باشد. این موارد خاص نحو بد را به خطاهای واقعی تبدیل می کند ، باعث می شود کد شما تمیزتر شود و دارای اشکال نباشد. به عنوان مثال ، اگر یک نام متغیر را در JavaScript اشتباه تایپ کنید ، این یک متغیر جهانی جدید ایجاد می کند. هنگام استفاده از حالت دقیق ، خطایی ایجاد می شود و ایجاد یک متغیر جهانی جدید به طور تصادفی غیرممکن است.

در JavaScript ، توسعه دهندگان معمولاً هنگام اختصاص مقادیر به خصوصیات غیرقابل نوشتن ، هیچ گونه بازخورد خطایی دریافت نمی کنند. در حالت دقیق ، نمی توانید چیزی را به خصوصیات غیرقابل نوشتن ، خواص فقط دریافت ، خصوصیات غیر موجود ، متغیرها یا اشیا objects اختصاص دهید ، زیرا خطا بلافاصله پرتاب می شود.

اعلام حالت سخت

شما می توانید حالت سخت را با استفاده از دستورالعمل سختگیرانه JS در ابتدای پرونده یا تعریف عملکرد اعلام کنید.

اگر در ابتدای پرونده اعلام شود ، همه کد در حالت دقیق اجرا می شود:

"use strict";
a = 2 + 2;
"use strict";
sampleFunction();  
function sampleFunction() {
   b = 2+2;
}

اگر در ابتدای تعریف یک تابع اعلام شود ، فرم استفاده از سخت افزار ایجاد می شود. این یک دامنه محلی است ، فقط به بلوک کد توصیف عملکرد اعمال می شود ، و نه خارج از آن:

a = 2 + 2;
sampleFunction();
function sampleFunction() {
     "use strict";
     b = 2 + 2;
}

آنچه مجاز نیست

بیایید لیستی از مواردی را که نمی توانید هنگام جاوا اسکریپت در حالت دقیق قرار دهید ، مرور کنیم. اول از همه ، شما نمی توانید از متغیرهای اعلام نشده استفاده کنید:

"use strict";  
a = 2 + 2;

همچنین نمی توانید از اشیا und اعلام نشده استفاده کنید:

"use strict"; 
a = {
  p1: 11,
  p2: 22,
};

با استفاده از کلمه کلیدی حذف نمی توان متغیرها ، اشیا یا عملکردها را حذف کرد:

"use strict";
var a = 2 + 2;  
delete a;
"use strict";
function a(p1, p2) {}; 
delete a;

نمی توانید نام پارامتر را کپی کنید:

"use strict";
function a(p1, p1) {};

شما نمی توانید از حروف لغوی عددی هشتم استفاده کنید:

"use strict";
var a = 01;

شخصیت های فرار مجاز نیستند:

"use strict";
var a = \01;

نوشتن به یک ویژگی فقط خواندنی یا فقط دریافت مجاز نیست:

"use strict";
var objec = {};  
Object.defineProperty(objec, "a", { value: 1, writable: false });  
objec.a = 2;
"use strict";
var objec = {get a() { return 0 } };
objec.a = 2;

نمی توانید خصوصیات غیرقابل حذف را حذف کنید:

"use strict";
delete Object.prototype;

شما نمی توانید از رشته های “eval” یا “argument” به عنوان متغیر استفاده کنید:

"use strict";
var eval = 2; // causes an error
"use strict";
var arguments = 2; // causes an error

نمی توانید با عبارت استفاده کنید:

"use strict";
with (Math) { a = cos(2) };

به دلایل امنیتی ، نمی توانید از eval برای ایجاد متغیرهایی در داخل دامنه ای که از آن فراخوانده شده استفاده کنید. در فراخوانی تابعی مانند f ، مقدار این موضوع جهانی است. در حالت دقیق ، تعریف نشده است:

"use strict";
eval ("var a = 2");  
alert (a);

کلمات کلیدی اثبات آینده

ممکن است بخاطر داشته باشید از برخی کلمات برای فراخوانی توابع یا متغیرهای جدید نمی توان استفاده کرد. آنها را کلمات ذخیره شده می نامند. معمولاً در دسترس نیستند زیرا برای توابع داخلی یا سایر عناصر زبانی از قبل استفاده می شوند.

اکنون ، برخی از کلمات کلیدی برای نسخه های بعدی JavaScript محفوظ است. بنابراین ، نمی توان از آنها در حالت سخت نیز استفاده کرد. بیایید نگاهی به لیست بیندازیم:

  • رابط
  • اجرا می کند
  • بسته بندی
  • اجازه دهید
  • حفاظت شده
  • خصوصی
  • ساکن
  • بازده
  • عمومی
"use strict";
var public = 1400;

خلاصه دستورات دقیق جاوااسکریپت

  • دستورالعمل سختگیرانه کد JavaScript را در حالت دقیق اجرا می کند.
  • شما باید بدانید که دستورالعمل سختگیرانه JavaScript را در کجا قرار می دهید ، زیرا نتایج متفاوتی به بار می آورد. به عنوان مثال ، قرار دادن آن در داخل یک تابع شکل استفاده از عملکرد دقیق را ایجاد می کند.
  • قوانین خاصی وجود دارد که باید هنگام نوشتن کد در حالت دقیق رعایت کنید.

این مقاله چقدر براتون مفید بود؟

اولین امتیاز را ثبت کنید😊