JavaScript / اتخاذ القرار

الشرط: if و else

اجعل البرنامج ينفّذ أوامر فقط عندما يتحقّق شرط، وأوامر أخرى عندما لا يتحقّق.

حتى الآن ينفّذ البرنامج كل الأسطر دائمًا. لكن في الحياة نتخذ قرارات: إذا كانت درجة العلوم 100 يزيد المصروف. الجملة if تجعل البرنامج يقرّر بنفس الطريقة.

نكتب if ثم الشرط بين قوسين ( )، ثم الأوامر بين القوسين المعقوصين { }. هذه الأوامر تُنفَّذ فقط إذا تحقّق الشرط، أما ما بعد } فيُنفَّذ في كل الأحوال:

JavaScript
let science = 100;
if (science == 100) {
    console.log("Increased allowance!");
}
console.log("Report checked");
وحدة التحكم
Increased allowance!
Report checked

الشرط في الحقيقة له قيمة: إما true (صحيح) أو false (خطأ). وif تنفّذ ما بداخلها عندما تكون القيمة true. يمكننا طباعة الشرط لنرى قيمته:

JavaScript
let science = 80;
console.log(science == 100);
console.log(science == 80);
وحدة التحكم
false
true
للمقارنة نستخدم علامتين ==. أما العلامة الواحدة = فهي للإسناد (وضع قيمة في متغير)، وليست للسؤال «هل يساوي؟».

else: ماذا لو لم يتحقّق الشرط؟

نضيف else بعد } لنحدّد ما يُنفَّذ عندما لا يتحقّق الشرط. هكذا يُنفَّذ دائمًا جزء واحد فقط من الجزأين:

JavaScript
let science = 80;
if (science == 100) {
    console.log("Increased allowance!");
} else {
    console.log("Weeding the garden");
}
وحدة التحكم
Weeding the garden

يمكن مقارنة النصوص أيضًا، والمقارنة تفرّق بين الحروف الكبيرة والصغيرة. ويمكن كتابة كل جزء في سطر واحد قصير كما في كتاب المنهج: if (x == 1){console.log("One");}؛ الشكلان يعطيان النتيجة نفسها.

JavaScript
let password = "cairo2026";
if (password == "Cairo2026"){console.log("Welcome");}
else {console.log("Wrong password");}
وحدة التحكم
Wrong password
else ليس لها شرط: else (x == 5) خطأ. ولا تضع فاصلة منقوطة بعد قوسي الشرط مثل if (x == 1); لأن ذلك يفصل الشرط عن أوامره.

تدريبات

1اكتب البرنامجتدريب المنهج

أعلن المتغير math وأسند له 100. إذا كانت قيمته تساوي 100 اطبع Get a reward.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
2أكمل الفراغتدريب المنهج

أكمل الفراغين: إذا كانت قيمة egg تساوي 0 يُطبع Let's go buy some.، وإلا يُطبع I still have some.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
let egg = 10;
___ {
    console.log("Let's go buy some.");
} ___ {
    console.log("I still have some.");
}
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
3اكتب البرنامجتدريب المنهج

أعلن المتغير num وأسند له 777. إذا كان يساوي 777 اطبع lucky، وإلا اطبع better luck next time.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
4اكتب البرنامجتدريب المنهج

أعلن المتغير num وأسند له 5. إذا كان يساوي 10 اطبع Win، وإلا اطبع Lose.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
5عدّل البرنامجتدريب المنهج

البرنامج لا يطبع شيئًا لأن الشرط لم يتحقّق. أضف else تطبع No reward عندما لا تكون science تساوي 100.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
let science = 80;
if (science == 100) {
    console.log("The reward is a cake");
}
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
6اكتب البرنامجتدريب إضافي

أعلن المتغير number وأسند له 17. استخدم % لتعرف هل هو زوجي: إذا كان باقي قسمته على 2 يساوي 0 اطبع 17 is even، وإلا اطبع 17 is odd. اربط قيمة المتغير بالنص بدل كتابة 17 داخل النص.

تلميحالشرط: number % 2 == 0
JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
7اكتب البرنامجتدريب إضافي

في اختبار من 20 سؤالًا أجاب الطالب 18 إجابة صحيحة. خزّن total = 20 وcorrect = 18، واحسب عدد الأخطاء في المتغير mistakes. إذا كانت الأخطاء تساوي 0 اطبع Full mark!، وإلا اطبع Mistakes: 2 (اربط قيمة المتغير بالنص).

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.

النقاط الرئيسية

  • if (الشرط) { ... } تُنفَّذ أوامرها فقط عندما يكون الشرط true.
  • else { ... } تُنفَّذ عندما يكون الشرط false، وليس لها شرط.
  • == للمقارنة، و= للإسناد.