العوامل الحسابية (Arithmetic)
5 + 3 // 8 جمع
5 - 3 // 2 طرح
5 * 3 // 15 ضرب
6 / 3 // 2 قسمة
7 % 3 // 1 باقي القسمة (modulo)
2 ** 3 // 8 الأس
الزيادة والنقصان:
let x = 5;
x++; // x = 6
x--; // x = 5
عوامل الإسناد (Assignment)
let x = 10;
x += 5; // x = x + 5 → 15
x -= 3; // 12
x *= 2; // 24
x /= 4; // 6
عوامل المقارنة (Comparison)
5 == "5" // true (يقارن القيمة فقط، يحوّل النوع)
5 === "5" // false (يقارن القيمة والنوع) ✅
5 != "5" // false
5 !== "5" // true
5 > 3 // true
5 >= 5 // true
🔑 استخدم
===و!==دائمًا! فهما يقارنان النوع والقيمة معًا، ويتجنّبان أخطاء التحويل التلقائي الغامضة لـ==.
0 == "" // true 😱 (== خادعة)
0 === "" // false ✅ (=== واضحة)
العوامل المنطقية (Logical)
true && false // false (AND: كلاهما صحيح)
true || false // true (OR: أحدهما صحيح)
!true // false (NOT: العكس)
استخدام عملي:
let age = 20;
if (age >= 18 && age < 65) {
console.log("بالغ");
}
عوامل حديثة مفيدة
// الدمج الصفري (??): قيمة احتياطية عند null/undefined
let name = userName ?? "زائر";
// السلسلة الاختيارية (?.): وصول آمن
let city = user?.address?.city; // لا يخطئ إن كان user غير معرّف
العامل الثلاثي (Ternary)
اختصار لـ if/else (نتعمّق فيه بدرس الشروط):
let status = age >= 18 ? "بالغ" : "قاصر";
الأخطاء الشائعة
- ❌ استخدام
==بدل===→ نتائج غامضة بسبب التحويل التلقائي. - ❌ الخلط بين
=(إسناد) و==/===(مقارنة) في الشروط. - ❌ نسيان أن
%هو باقي القسمة لا النسبة المئوية.
خلاصة
أتقن العوامل الحسابية والإسناد والمقارنة (وفضّل === دائمًا) والمنطقية (&&, ||, !)، والعوامل الحديثة (??, ?.). هي أدوات بناء كل منطق برنامجك.