عند البرمجة في JavaScript، قد تصادف حرف الشرطة السفلية (_) المستخدم كاسم متغير، خاصة في معلمات الوظائف. على الرغم من أن الأمر قد يبدو غير عادي للوهلة الأولى، إلا أن هذه الممارسة شائعة بين المطورين لأسباب مختلفة. في منشور المدونة هذا، سوف نستكشف ما تمثله الشرطة السفلية، وسبب استخدامها، وكيف تظهر في الأمثلة الواقعية، مثل وظيفةcoalesceES6.
في JavaScript، غالبًا ما يتم استخدام الشرطة السفلية (_) كعنصر نائب للمتغير، خاصة عندما لا تكون هوية المتغير مهمة لمنطق الكود. تساعد هذه الاتفاقية في الإشارة إلى أن المتغير مؤقت ويخدم غرضًا محددًا، عادةً للتكرار أو كمعلمة رد اتصال.
لتوضيح استخدام الشرطة السفلية، دعونا نلقي نظرة على وظيفة بسيطة تسمىcoalesceES6. تأخذ هذه الدالة وسيطات متعددة وترجع الوسيطة الأولى التي ليست فارغة أو غير محددة.
إليك كيف تبدو الوظيفة:
const coalesceES6 = (...args) => args.find(_ => ![null, undefined].includes(_));
التفكيك:
وظيفة السهم :
إيجاد القيم غير الفارغة:
استخدام _:
يشير إلى متغير مؤقت:
الإيجاز:
الألفة في المجتمع:
على الرغم من أن استخدام _ أمر شائع، إلا أنه ليس الخيار الوحيد. يمكن للمطورين أيضًا اختيار المزيد من أسماء المتغيرات الوصفية لتحسين إمكانية القراءة:
const coalesceDescriptive = (...args) => args.find(arg => ![null, undefined].includes(arg));
في هذا الإصدار، يتم استخدام arg بدلاً من _. وفي حين يؤدي هذا إلى تحسين الوضوح، فإن منطق الوظيفة يظل كما هو. غالبًا ما يعود الاختيار بين استخدام _ أو اسم وصفي إلى التفضيل الشخصي أو الفريق.
الشرطة السفلية (_) هي اصطلاح بسيط ولكنه قوي في JavaScript. إنه بمثابة متغير نائب، مما يجعل التعليمات البرمجية أكثر وضوحًا ويشير للآخرين إلى أن هوية المتغير ليست حاسمة بالنسبة للمنطق العام. في وظائف مثل الدمج ES6، يتيح استخدام _ للمطورين التركيز على الوظيفة بدلاً من تفاصيل تسمية المتغيرات.
في المرة القادمة التي ترى فيها الشرطة السفلية في JavaScript، ستعرف أن هذا ليس مجرد اختيار عشوائي، ولكنه قرار مدروس يساهم في ممارسات ترميز واضحة وموجزة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3