حتى الآن ينفّذ البرنامج كل الأسطر دائمًا. لكن في الحياة نتخذ قرارات: إذا كانت درجة العلوم 100 يزيد المصروف. الجملة if تجعل البرنامج يقرّر بنفس الطريقة.
نكتب if ثم الشرط بين قوسين ( )، ثم الأوامر بين القوسين المعقوصين { }. هذه الأوامر تُنفَّذ فقط إذا تحقّق الشرط، أما ما بعد } فيُنفَّذ في كل الأحوال:
let science = 100;
if (science == 100) {
console.log("Increased allowance!");
}
console.log("Report checked");Increased allowance! Report checked
الشرط في الحقيقة له قيمة: إما true (صحيح) أو false (خطأ). وif تنفّذ ما بداخلها عندما تكون القيمة true. يمكننا طباعة الشرط لنرى قيمته:
let science = 80; console.log(science == 100); console.log(science == 80);
false true
==. أما العلامة الواحدة = فهي للإسناد (وضع قيمة في متغير)، وليست للسؤال «هل يساوي؟».else: ماذا لو لم يتحقّق الشرط؟
نضيف else بعد } لنحدّد ما يُنفَّذ عندما لا يتحقّق الشرط. هكذا يُنفَّذ دائمًا جزء واحد فقط من الجزأين:
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");}؛ الشكلان يعطيان النتيجة نفسها.
let password = "cairo2026";
if (password == "Cairo2026"){console.log("Welcome");}
else {console.log("Wrong password");}Wrong password
else ليس لها شرط: else (x == 5) خطأ. ولا تضع فاصلة منقوطة بعد قوسي الشرط مثل if (x == 1); لأن ذلك يفصل الشرط عن أوامره.تدريبات
أعلن المتغير math وأسند له 100. إذا كانت قيمته تساوي 100 اطبع Get a reward.
اضغط «تشغيل» لترى النتيجة. أكمل الفراغين: إذا كانت قيمة egg تساوي 0 يُطبع Let's go buy some.، وإلا يُطبع I still have some.
let egg = 10;
___ {
console.log("Let's go buy some.");
} ___ {
console.log("I still have some.");
}اضغط «تشغيل» لترى النتيجة. أعلن المتغير num وأسند له 777. إذا كان يساوي 777 اطبع lucky، وإلا اطبع better luck next time.
اضغط «تشغيل» لترى النتيجة. أعلن المتغير num وأسند له 5. إذا كان يساوي 10 اطبع Win، وإلا اطبع Lose.
اضغط «تشغيل» لترى النتيجة. البرنامج لا يطبع شيئًا لأن الشرط لم يتحقّق. أضف else تطبع No reward عندما لا تكون science تساوي 100.
let science = 80;
if (science == 100) {
console.log("The reward is a cake");
}اضغط «تشغيل» لترى النتيجة. أعلن المتغير number وأسند له 17. استخدم % لتعرف هل هو زوجي: إذا كان باقي قسمته على 2 يساوي 0 اطبع 17 is even، وإلا اطبع 17 is odd. اربط قيمة المتغير بالنص بدل كتابة 17 داخل النص.
تلميح
الشرط:number % 2 == 0اضغط «تشغيل» لترى النتيجة. في اختبار من 20 سؤالًا أجاب الطالب 18 إجابة صحيحة. خزّن total = 20 وcorrect = 18، واحسب عدد الأخطاء في المتغير mistakes. إذا كانت الأخطاء تساوي 0 اطبع Full mark!، وإلا اطبع Mistakes: 2 (اربط قيمة المتغير بالنص).
اضغط «تشغيل» لترى النتيجة. النقاط الرئيسية
if (الشرط) { ... }تُنفَّذ أوامرها فقط عندما يكون الشرطtrue.else { ... }تُنفَّذ عندما يكون الشرطfalse، وليس لها شرط.==للمقارنة، و=للإسناد.