الكشف عن الغرض من علامة التعجب في التعبير الوظيفي
في JavaScript، عند تنفيذ التعليمات البرمجية، تواجه علامة التعجب (!) قبل وظيفة قد تثير بعض الأسئلة. دعونا نتعمق في وظائفها ودورها في بناء الجملة.
يفرض بناء جملة JavaScript أن الوظيفة المعلن عنها في شكل "function foo() {}" هي إعلان دالة وتتطلب استدعاءً للتنفيذ. ومع ذلك، فإن المعالجة المسبقة لإعلان الدالة باستخدام علامة التعجب (!) تحوله إلى تعبير دالة، والذي يمكن أن يتبعه أقواس لاستدعاء الدالة على الفور.
الكود "!function foo() {}() "قد يبدو في البداية زائدًا عن الحاجة، لأنه يعلن عن وظيفة ولكنه ينفذها أيضًا. ومع ذلك، فإن علامة التعجب تخدم غرضين هنا:
على الرغم من أنها في الأساس خدعة نحوية، إلا أن هذه التقنية تسمح ببناء جملة موجزة للتعبيرات الوظيفية التي يتم استدعاؤها على الفور (IIFEs). سيكون النموذج الأكثر وضوحًا للكود هو: "(function(){})();"
أخيرًا، تقوم علامة التعجب أيضًا بتقييم القيمة المرجعة للدالة وإجبارها على تحويلها إلى قيمة منطقية. نظرًا لأن IIFEs عادةً لا تُرجع قيمة بشكل صريح، فإنها تُرجع قيمة غير محددة، والتي يتم إجبارها على أن تكون صحيحة بواسطة علامة التعجب. لا يتم استخدام هذه النتيجة المنطقية بشكل عام.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3