الشروط if / else واتخاذ القرار

5:00 دقائق مجاني
في هذا الدرس ستتعلم كيف تجعل برنامجك “يقرر” ماذا يفعل حسب الحالة باستخدام if / else

الشروط (Conditions) هي قلب البرمجة: نقول للبرنامج: إذا تحقق شرط معين نفّذ شيئًا… وإلا نفّذ شيئًا آخر. في هذا الدرس سنفهم if / else من الصفر وبأمثلة من الحياة الواقعية.

فكرة if / else ببساطة

تخيلها مثل قرار بسيط:

  • إذا كنت مسجّل دخول → اعرض لوحة التحكم
  • وإلا → اعرض صفحة تسجيل الدخول

هذه الفكرة تتكرر في كل البرامج تقريبًا.

شكل if الأساسي

هذا هو الشكل الأساسي:

if (condition) {
  // نفّذ هذا إذا كان الشرط true
}

مهم جدًا

الشرط داخل الأقواس (...) لازم يرجع true أو false.

مثال بسيط: هل الرقم أكبر من 10؟

let number = 12;

if (number > 10) {
  console.log("الرقم أكبر من 10");
}

إذا كان number أكبر من 10، سيطبع البرنامج الرسالة. إذا لم يكن أكبر من 10… فلن يحدث شيء (لأننا لم نكتب else).

استخدام else (الخيار الآخر)

else تعني: “إذا لم يتحقق الشرط… افعل هذا”.

let age = 16;

if (age >= 18) {
  console.log("مسموح لك بالدخول ✅");
} else {
  console.log("غير مسموح لك بالدخول ❌");
}

هنا البرنامج دائمًا سيطبع شيئًا واحدًا: إما السماح أو الرفض.

استخدام else if (أكثر من حالة)

أحيانًا نحتاج أكثر من خيار، مثل تقييم الدرجة:

let score = 85;

if (score >= 90) {
  console.log("ممتاز");
} else if (score >= 80) {
  console.log("جيد جدًا");
} else if (score >= 70) {
  console.log("جيد");
} else {
  console.log("يحتاج تحسين");
}

كيف يقرأها البرنامج؟

  • يفحص أول شرط
  • إذا true يتوقف ويطبع نتيجته
  • إذا false ينتقل للشرط اللي بعده
  • إذا ولا شرط تحقق، يروح إلى else

شروط متعددة باستخدام && و ||

AND: && (لازم الكل صحيح)

let isLoggedIn = true;
let age = 19;

if (isLoggedIn === true && age >= 18) {
  console.log("دخول مسموح ✅");
}

OR: || (يكفي واحد صحيح)

let isAdmin = false;
let isOwner = true;

if (isAdmin === true || isOwner === true) {
  console.log("لديك صلاحية ✅");
}

أخطاء شائعة في if / else (انتبه لها)

  • نسيان الأقواس () حول الشرط
  • كتابة = بدل === (الأول تعيين والثاني مقارنة)
  • الخلط بين النص والرقم (مثل "18" و 18)
  • عدم ترتيب else if بشكل منطقي (من الأكبر للأصغر عادة)

تذكير سريع:

  • = تعني “ضع قيمة”
  • === تعني “هل يساوي؟” بشكل صارم

ماذا بعد هذا الدرس؟

الدرس القادم: Switch Case (اختيار من عدة حالات)

عندما يكون عندك خيارات كثيرة، switch قد تكون أوضح من if/else في بعض الحالات.