53 lines
2.4 KiB
Markdown
53 lines
2.4 KiB
Markdown
|
---
|
|||
|
title: Strict Mode
|
|||
|
localeTitle: الوضع الصارم
|
|||
|
---
|
|||
|
تم تقديم الوضع الصارم في ECMAScript 5 والذي يسمح لك بوضع برنامج أو وظيفة في سياق تشغيل "صارم". هذا السياق الصارم يمنع اتخاذ إجراءات معينة ويلقي المزيد من الاستثناءات.
|
|||
|
|
|||
|
يجعل الوضع المقيد العديد من التغييرات على دلالات JavaScript السليمة.
|
|||
|
|
|||
|
* أولاً ، يحذف الوضع المقيد بعض أخطاء جافا سكريبت الصامتة عن طريق تغييرها لرمي الأخطاء.
|
|||
|
* ثانيًا ، يعمل الوضع المتشدد على إصلاح الأخطاء التي تجعل من الصعب على محركات جافا سكريبت إجراء عمليات التحسين: يمكن أحيانًا جعل رمز الوضع الصارم يتم تشغيله بشكل أسرع من الشفرة المتطابقة التي لا تتسم بوضعًا صارمًا.
|
|||
|
* ثالثًا ، يحظر الأسلوب المقيد بعض الجمل التي من المحتمل أن يتم تعريفها في الإصدارات المستقبلية من ECMAScript.
|
|||
|
|
|||
|
يمكن أن تتعايش شفرة الأسلوب الصارم ورمز الوضع غير المقيد في نفس البرنامج النصي.
|
|||
|
|
|||
|
`// Non-strict code...
|
|||
|
|
|||
|
(function(){
|
|||
|
"use strict";
|
|||
|
|
|||
|
// Define your library strictly...
|
|||
|
})();
|
|||
|
|
|||
|
// Non-strict code...
|
|||
|
`
|
|||
|
|
|||
|
## استدعاء وضع صارم
|
|||
|
|
|||
|
ينطبق الوضع الصارم على _النصوص الكاملة_ أو على _الوظائف الفردية_ .
|
|||
|
|
|||
|
**وضع صارم للنصوص**
|
|||
|
|
|||
|
`// Whole-script strict mode syntax
|
|||
|
|
|||
|
"use strict";
|
|||
|
var v = "Hi! I'm a strict mode script!";
|
|||
|
`
|
|||
|
|
|||
|
**وضع صارم للوظائف**
|
|||
|
|
|||
|
`function strict(){
|
|||
|
// Function-level strict mode syntax
|
|||
|
|
|||
|
'use strict';
|
|||
|
function nested() { return "And so am I!"; }
|
|||
|
return "Hi! I'm a strict mode function! " + nested();
|
|||
|
}
|
|||
|
|
|||
|
function notStrict() { return "I'm not strict."; }
|
|||
|
`
|
|||
|
|
|||
|
**في الأساس ، يساعدك على ارتكاب أخطاء أقل ، من خلال اكتشاف الأشياء التي قد تؤدي إلى حدوث كسر والتي لا يتم اكتشافها بشكل طبيعي (الوضع غير الصارم).**
|
|||
|
|
|||
|
_لمزيد من المعلومات ، راجع [صفحة MDN](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Strict_mode) هذه._
|