الشروط 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 في بعض الحالات.