|
|
|
في هذا الدرس، سنتناول مفهومًا مهمًا في البرمجة باستخدام JavaScript، وهو العبارة الشرطية else if، والتي تُعد امتدادًا طبيعيًا لما تعلمناه سابقًا عن if و else. سنشرح هذا المفهوم بأسلوب مقالي تعليمي مبسط، مع أمثلة عملية لفهم أعمق.
|
|
🧠 مقدمة: لماذا نحتاج إلى else if؟
|
|
|
عندما نستخدم عبارة if، فإننا نتحقق من شرط معين، وإذا تحقق هذا الشرط، ننفذ الكود المرتبط به. وإذا لم يتحقق، يمكننا استخدام else لتنفيذ كود بديل. لكن ماذا لو كان لدينا أكثر من حالتين؟ ماذا لو أردنا التحقق من عدة شروط مختلفة، وليس فقط شرط واحد ونقيضه؟
|
|
|
هنا يأتي دور else if، والذي يسمح لنا بإضافة حالات إضافية بين if و else.
|
|
🎓 مثال تطبيقي: نظام تقييم الدرجات
|
|
|
تخيل أننا نريد بناء نظام لتقييم الطلاب بناءً على درجاتهم من 0 إلى 20، بحيث يتم تحويل الدرجة إلى حرف كما يلي:
|
|
- إذا كانت الدرجة 15 أو أكثر → يحصل الطالب على A
- إذا كانت الدرجة من 10 إلى أقل من 15 → يحصل على B
- إذا كانت الدرجة أقل من 10 → يحصل على F
|
|
|
لا يمكننا استخدام if و else فقط، لأن لدينا ثلاث حالات مختلفة. لذلك نستخدم else if كما يلي:
|
|
|
|
|
🔍 تحليل الكود خطوة بخطوة
|
|
|
عند استدعاء الدالة getLetterFromGrade وتمرير قيمة معينة، يتم تنفيذ الخطوات التالية:
|
|
- التحقق من الشرط الأول: هل grade >= 15؟ إذا كان نعم، تُرجع الدالة "A" وتتوقف.
- إذا لم يتحقق الشرط الأول، ننتقل إلى else if: هل grade >= 10؟ إذا كان نعم، تُرجع "B" وتتوقف.
- إذا لم يتحقق أي من الشرطين السابقين، يتم تنفيذ الكود داخل else وتُرجع "F".
|
|
🧪 تجربة الدالة مع أمثلة
|
|
|
دعونا نختبر الدالة مع ثلاث قيم مختلفة:
|
|
|
|
|
تحليل الحالة الثانية: getLetterFromGrade(12)
|
|
- هل 12 ≥ 15؟ ❌ لا.
- هل 12 ≥ 10؟ ✅ نعم → تُرجع "B".
|
|
🧩 ملاحظات مهمة
|
|
- يمكن استخدام أكثر من else if في نفس الدالة إذا كانت هناك حالات متعددة.
- يجب أن تأتي else if دائمًا بعد if، ولا يمكن استخدامها بمفردها.
- else في النهاية تُستخدم كحالة افتراضية إذا لم يتحقق أي من الشروط السابقة.
|
|
📝 خلاصة الدرس
|
|
- else if تُستخدم عندما نحتاج إلى التحقق من عدة شروط مختلفة.
- هي أداة قوية تجعل الكود أكثر مرونة وتنظيمًا.
- تُستخدم دائمًا بعد if، ويمكن أن تتبعها else لتغطية جميع الحالات المتبقية.
|
|
|
|
📘 ملخص الفصل: else if
|
|
- عبارة else if تُستخدم بالإضافة إلى if و else، مما يتيح لنا التعامل مع عدة سيناريوهات مختلفة، وليس فقط شرط واحد ونقيضه.
- تسمح لنا else if بكتابة منطق أكثر تعقيدًا، مثل التحقق من درجات متعددة أو حالات متنوعة.
- لا يمكن استخدام else if بمفردها؛ يجب أن تتبع دائمًا عبارة if.
- تُستخدم else في النهاية لتغطية جميع الحالات الأخرى التي لم تتحقق في الشروط السابقة.
|
|
|
|
|
3 تحديات تعليمية تساعدك على ترسيخ فهمك لعبارة else if:
|
|
🧩 التحدي الأول: تصنيف الأعمار
|
|
|
اكتب دالة باسم getAgeCategory(age) تُصنّف الأشخاص حسب أعمارهم:
|
|
- إذا كان العمر أقل من 13 → تُرجع "طفل"
- إذا كان العمر بين 13 و18 (شاملًا) → تُرجع "مراهق"
- إذا كان العمر أكثر من 18 → تُرجع "بالغ"
|
|
🧪 التحدي الثاني: تحديد نوع الطقس
|
|
|
اكتب دالة باسم getWeatherType(temp) تُرجع نوع الطقس بناءً على درجة الحرارة:
|
|
- إذا كانت الحرارة ≥ 30 → تُرجع "حار"
- إذا كانت الحرارة بين 15 و29 → تُرجع "معتدل"
- إذا كانت الحرارة أقل من 15 → تُرجع "بارد"
|
|
🎮 التحدي الثالث: تقييم أداء اللاعب
|
|
|
اكتب دالة باسم getPerformance(score) تُقيّم أداء لاعب بناءً على النقاط:
|
|
- إذا كانت النقاط ≥ 90 → "ممتاز"
- إذا كانت النقاط بين 70 و89 → "جيد"
- إذا كانت النقاط بين 50 و69 → "مقبول"
- أقل من 50 → "ضعيف"
|
|
التعليقات