لفترة طويلة، تطورت JavaScript دون مشكلات التوافق. تمت إضافة ميزات جديدة إلى اللغة بينما لم تتغير الوظائف القديمة.
وكان لذلك فائدة عدم كسر التعليمات البرمجية الموجودة أبدًا. لكن الجانب السلبي هو أن أي خطأ أو قرار غير كامل يتخذه منشئو JavaScript سيظل عالقًا في اللغة إلى الأبد.
كان هذا هو الحال حتى عام 2009 عندما ظهر ECMAScript 5 (ES5). لقد أضاف ميزات جديدة إلى اللغة وقام بتعديل بعض الميزات الموجودة. للحفاظ على عمل التعليمات البرمجية القديمة، يتم إيقاف تشغيل معظم هذه التعديلات افتراضيًا. تحتاج إلى تمكينها بشكل صريح من خلال توجيه خاص: "use strict"
.
يبدو التوجيه كسلسلة: "use strict"
أو 'use strict'
. عندما يكون موجودًا في الجزء العلوي من البرنامج النصي، يعمل البرنامج النصي بأكمله بالطريقة "الحديثة".
على سبيل المثال:
"استخدام صارم"؛ // يعمل هذا الكود بالطريقة الحديثة ...
سنتعلم قريبًا الوظائف (طريقة لتجميع الأوامر)، لذا دعونا نلاحظ مسبقًا أنه يمكن وضع "use strict"
في بداية الوظيفة. يؤدي القيام بذلك إلى تمكين الوضع الصارم في تلك الوظيفة فقط. لكن عادة ما يستخدمه الناس للنص بأكمله.
تأكد من وجود "استخدام صارم" في الأعلى
الرجاء التأكد من وجود "use strict"
في الجزء العلوي من البرامج النصية الخاصة بك، وإلا فقد لا يتم تمكين الوضع الصارم.
الوضع الصارم غير ممكّن هنا:
تنبيه ("بعض التعليمات البرمجية")؛ // يتم تجاهل "استخدام صارم" أدناه، ويجب أن يكون في الأعلى "استخدام صارم"؛ // لم يتم تنشيط الوضع الصارم
قد تظهر التعليقات فقط فوق "use strict"
.
لا توجد طريقة لإلغاء use strict
لا يوجد توجيه مثل "no use strict"
يعيد المحرك إلى السلوك القديم.
بمجرد أن ندخل في الوضع الصارم، لن يكون هناك عودة إلى الوراء.
عند استخدام وحدة تحكم المطور لتشغيل التعليمات البرمجية، يرجى ملاحظة أنها لا use strict
بشكل افتراضي.
في بعض الأحيان، عندما يحدث use strict
فرقًا، ستحصل على نتائج غير صحيحة.
إذن، كيف يتم use strict
في وحدة التحكم؟
أولاً، يمكنك محاولة الضغط على Shift + Enter لإدخال عدة أسطر، ووضع use strict
في الأعلى، كما يلي:
"استخدام صارم"؛ <Shift+Enter للسطر الجديد> // ...الرمز الخاص بك <أدخل للتشغيل>
يعمل في معظم المتصفحات، وخاصة Firefox وChrome.
إذا لم يحدث ذلك، على سبيل المثال، في متصفح قديم، فهناك طريقة قبيحة ولكن موثوقة لضمان use strict
. ضعه داخل هذا النوع من الغلاف:
(وظيفة() { "استخدام صارم"؛ // ...الرمز الخاص بك هنا... })()
قد يبدو السؤال واضحا، لكنه ليس كذلك.
يمكن للمرء أن يوصي ببدء البرامج النصية بـ "use strict"
... لكن هل تعرف ما هو الشيء الرائع؟
تدعم JavaScript الحديثة "الفئات" و"الوحدات النمطية" - وهي هياكل لغوية متقدمة (سنتحدث عنها بالتأكيد)، تتيح use strict
تلقائيًا. لذلك لا نحتاج إلى إضافة توجيه "use strict"
إذا استخدمناه.
لذا، في الوقت الحالي "use strict";
هو ضيف مرحب به في الجزء العلوي من البرامج النصية الخاصة بك. لاحقًا، عندما تكون التعليمات البرمجية الخاصة بك كلها موجودة في الفئات والوحدات النمطية، يمكنك حذفها.
اعتبارًا من الآن، علينا أن نعرف use strict
بشكل عام.
في الفصول التالية، بينما نتعلم ميزات اللغة، سنرى الاختلافات بين الوضعين الصارم والقديم. لحسن الحظ، ليس هناك الكثير منها وهي في الواقع تجعل حياتنا أفضل.
تفترض جميع الأمثلة في هذا البرنامج التعليمي الوضع الصارم ما لم يتم تحديد خلاف ذلك (نادرًا جدًا).