العمليات الحسابية والمنطقية + المقارنات (مهم جدًا قبل if/loops).
قبل أن نصل إلى الشروط (if) والحلقات، لازم نفهم شيء مهم: كيف نجري عمليات على الأرقام، وكيف نقارن القيم، وكيف نحصل على نتيجة true أو false. هذه المهارات هي أساس أي برنامج.
العمليات الحسابية الأساسية (+ - * /)
JavaScript توفر عمليات حسابية مثل أي آلة حاسبة. أشهر العمليات:
- + للجمع
- - للطرح
- * للضرب
- / للقسمة
مثال عملي:
let a = 10;
let b = 3;
let sum = a + b; // 13
let sub = a - b; // 7
let mul = a * b; // 30
let div = a / b; // 3.333...
ملاحظة مهمة
القسمة قد تنتج رقمًا عشريًا، وهذا طبيعي.
عمليات مفيدة جدًا: الباقي (%) والأس (**) وزيادة/نقصان
الباقي % (Modulus)
هذه العملية تعطيك باقي القسمة. مفيدة مثلًا لمعرفة هل الرقم زوجي أو فردي.
10 % 2 // 0 (زوجي)
9 % 2 // 1 (فردي)
القاعدة: إذا الرقم % 2 = 0 فهو زوجي.
الأس **
تستخدم لحساب القوة (Power).
2 ** 3 // 8
5 ** 2 // 25
الزيادة ++
تزود المتغير 1.
let x = 5;
x++; // الآن x = 6
النقصان --
تنقص المتغير 1.
let y = 5;
y--; // الآن y = 4
اختصارات مهمة (+= -= *= /=)
بدل ما تكتب المتغير مرتين، تستطيع استخدام اختصارات:
let score = 10;
score += 5; // score = 15
score -= 3; // score = 12
score *= 2; // score = 24
score /= 4; // score = 6
هذه الاختصارات ستستخدمها كثيرًا لاحقًا في الحلقات.
عمليات المقارنة (== === != !== > < >= <=)
المقارنة تعطيك دائمًا نتيجة true أو false. وهذه هي أساس اتخاذ القرار داخل if.
مقارنة مساواة
- == مساواة (يتساهل في النوع)
- === مساواة صارمة (الأفضل)
5 == "5" // true (يتساهل)
5 === "5" // false (نوع مختلف)
عدم مساواة
- != غير مساوي (يتساهل)
- !== غير مساوي صارم (الأفضل)
5 != "5" // false
5 !== "5" // true
مقارنات أكبر/أصغر
10 > 5 // true
10 < 5 // false
10 >= 10 // true
9 <= 8 // false
قاعدة ذهبية ✅
استخدم === و !== غالبًا، لأنها تمنع مشاكل التحويل التلقائي بين النص والرقم.
العمليات المنطقية (&& و || و !)
المنطق يساعدك تجمع أكثر من شرط معًا.
AND: &&
لازم الشرطين يكونان true.
(5 > 2) && (10 > 3) // true
OR: ||
يكفي شرط واحد true.
(5 > 10) || (10 > 3) // true
NOT: !
يعكس النتيجة.
!(5 > 2) // false
مثال واقعي
تخيل تسجيل الدخول: نريد أن يكون المستخدم مسجلًا AND عمره أكبر أو يساوي 18:
let isLoggedIn = true;
let age = 19;
(isLoggedIn === true) && (age >= 18) // true
أخطاء شائعة يجب أن تنتبه لها
- استخدام == بدل === في المقارنات
- الخلط بين النص والرقم (مثل "10" و 10)
- نسيان أن نتيجة المقارنة تكون true/false
- استخدام && و || بدون فهم (تأكد من منطقك)
ماذا بعد هذا الدرس؟
الدرس القادم: الشروط if / else واتخاذ القرار
سنستخدم المقارنات والمنطق لبناء “إذا حدث كذا نفّذ كذا” بطريقة واضحة.