الدرس الخامس: العمليات الحسابية والمنطقية في JavaScript – تعلم الأساسيات خطوة بخطوة
في هذا الدرس سنتعرف على أساسيات العمليات الحسابية والمنطقية في JavaScript، والتي تُعتبر من الركائز الأساسية لكتابة برامج تفاعلية وذكية. من خلال هذه العمليات، يمكنك إجراء حسابات رياضية، مقارنة القيم، واتخاذ قرارات منطقية ضمن الكود. سنقدم لك أمثلة عملية توضح كيفية استخدام العمليات الحسابية مثل الجمع والطرح، وكذلك العمليات المنطقية مثل && (و) و || (أو)، مع شرح الفرق بينها وكيفية تطبيقها في سيناريوهات مختلفة.

العمليات الحسابية في JavaScript
تدعم JavaScript مجموعة من العمليات الحسابية الأساسية التي تمكنك من التعامل مع الأرقام بسهولة ومرونة. هذه العمليات تعتبر أساسية في البرمجة وتستخدم بشكل يومي في تطبيقات الويب المختلفة، من حسابات بسيطة إلى معالجات بيانات معقدة.
+
الجمع: يستخدم لجمع رقمين أو أكثر. بالإضافة إلى ذلك، يمكن استخدامه لدمج النصوص.-
الطرح: يستخدم لطرح رقم من آخر.*
الضرب: يستخدم لضرب رقمين أو أكثر./
القسمة: يستخدم لتقسيم رقم على آخر.%
باقي القسمة (modulus): يعطيك باقي قسمة رقم على آخر. يُستخدم على نطاق واسع للتحقق من القسمة، مثلاً لتحديد ما إذا كان العدد زوجيًا أو فرديًا.**
القوة (الأس): يستخدم لرفع رقم إلى قوة معينة، وهو مثالي لعمليات مثل23 = 8
.
أمثلة عملية على العمليات الحسابية
let a = 10; let b = 3; console.log(a + b); // 13 (الجمع) console.log(a - b); // 7 (الطرح) console.log(a * b); // 30 (الضرب) console.log(a / b); // 3.3333333333333335 (القسمة) console.log(a % b); // 1 (باقي القسمة) console.log(a ** b); // 1000 (القوة)
في هذا المثال، تم استخدام العمليات الحسابية المختلفة بين المتغيرين a
وb
لإظهار كيفية تنفيذ العمليات الحسابية بشكل مباشر. كما ترى:
a + b
يعطيك مجموع الرقمين.a - b
يعطيك الفرق بين الرقمين.a * b
يعطيك حاصل ضرب الرقمين.a / b
يعطيك قسمة الرقمين (نتيجة القسمة ستكون رقمًا عشريًا إذا كان هناك باقي).a % b
يعطيك باقي قسمة الرقمين.a ** b
يعطيك 10 مرفوعة إلى القوة 3، وبالتالي 1000.
التطبيقات العملية للعمليات الحسابية
تستخدم هذه العمليات الحسابية في العديد من التطبيقات العملية. على سبيل المثال:
- حساب العمر: يمكنك استخدام العمليات الحسابية لحساب العمر بناءً على تاريخ الميلاد.
- التقييمات والنتائج: في التطبيقات التي تتطلب حساب الدرجات أو التقييمات، يمكنك استخدام العمليات الرياضية مثل الجمع والضرب.
- المعدلات المالية: في حسابات الفائدة المركبة أو الحسابات الضريبية، تستخدم العمليات الحسابية مثل القسمة والضرب والرفع للأس لحساب النتائج الدقيقة.
(a + b) * c
بدلاً من a + b * c
.
العمليات المنطقية (Logical Operators)
تُستخدم العمليات المنطقية في JavaScript للتحكم في تدفق البرنامج بناءً على تحقق شروط معينة. تُستخدم بشكل شائع في جمل التحكم مثل if
و while
، وتتيح اتخاذ قرارات ذكية بناءً على تقييم شروط متعددة.
&&
(AND): تعيدtrue
فقط إذا كانت كل الشروط صحيحة. مثال:condition1 && condition2
صحيح فقط إذا تحقق الشرطان معًا.||
(OR): تعيدtrue
إذا تحقق أي من الشروط. مثال:condition1 || condition2
صحيح إذا تحقق أحد الشرطين على الأقل.!
(NOT): تعكس القيمة المنطقية، فإذا كانتtrue
تصبحfalse
والعكس صحيح.
let age = 20; let hasLicense = true; if (age >= 18 && hasLicense) { console.log("يمكنك القيادة"); } else { console.log("لا يمكنك القيادة"); }
في المثال أعلاه، يتم التحقق من شرطين: هل عمر المستخدم 18 سنة أو أكثر، وهل لديه رخصة قيادة.
البرنامج يسمح بالقيادة فقط إذا تحققت الشرطان معًا (باستخدام &&
).
التوضيح العملي:
في JavaScript، تُستخدم العمليات المنطقية في جمل التحكم لتحديد ما إذا كان يجب تنفيذ جزء معين من الكود بناءً على الشروط. مثلاً:
- AND (&&): يستخدم لتحديد ما إذا كانت جميع الشروط صحيحة.
- OR (||): يستخدم لتحديد ما إذا كان أحد الشروط فقط صحيحًا.
- NOT (!): يستخدم لعكس القيمة المنطقية.
عمليات المقارنة في JavaScript: شرح مفصل مع أمثلة عملية
تُعتبر عمليات المقارنة في JavaScript من أهم الأدوات المستخدمة في البرمجة المنطقية واتخاذ القرارات داخل الشيفرات البرمجية. تساعد هذه العمليات على مقارنة القيم المختلفة، سواء كانت أرقامًا أو نصوصًا أو متغيرات، وتحديد العلاقة بينها، مثل التساوي أو الأكبرية أو الأصغرية.
تُستخدم هذه العمليات كثيرًا في الجمل الشرطية مثل if
وswitch
، وتُعد من الركائز الأساسية لأي مطور يسعى لبناء منطق ذكي وتحكم فعال في تطبيقاته البرمجية.
الفرق بين ==
و ===
في JavaScript
يوجد في JavaScript نوعان أساسيان من المساواة:
==
(المساواة غير الصارمة): تقوم هذه العملية بمقارنة القيم مع تجاهل نوع البيانات، حيث يتم تحويل القيم إلى نوع مشترك قبل المقارنة. قد يؤدي ذلك إلى نتائج غير متوقعة أحيانًا.===
(المساواة الصارمة): تُجري المقارنة مع التحقق من نوع البيانات أيضًا، أي أنها تُعيدtrue
فقط إذا كانت القيم متساوية والنوع متطابق. وتُعتبر هذه الطريقة الأكثر أمانًا ويُنصح باستخدامها دائمًا.
مثال توضيحي:
let x = 5;
let y = "5";
console.log(x == y); // true ← لأن "5" تم تحويلها إلى رقم 5
console.log(x === y); // false ← لأن النوع مختلف (رقم مقابل نص)
كما تلاحظ، استخدام ===
يمنع حصول مقارنات غير دقيقة، لذلك من الأفضل اعتماده في جميع الحالات التي تتطلب دقة في المقارنة.
أنواع أخرى من عمليات المقارنة في JavaScript
إضافة إلى عمليتي التساوي، توفر JavaScript عدة عمليات مقارنة أخرى تُستخدم لمقارنة الأرقام والقيم:
!=
: لا يساوي (مع تحويل النوع).!==
: لا يساوي بشكل صارم (مع التحقق من النوع).<
: أصغر من.>
: أكبر من.<=
: أصغر من أو يساوي.>=
: أكبر من أو يساوي.
مثال عملي:
let age = 18;
if (age >= 18) {
console.log("أنت مؤهل للتصويت.");
} else {
console.log("عذرًا، أنت غير مؤهل للتصويت.");
}
في هذا المثال، استخدمنا عملية >=
لمقارنة عمر المستخدم مع الحد الأدنى المطلوب للتصويت.
نصائح للمطورين: كيف تتجنب الأخطاء الشائعة في المقارنات؟
الكثير من المطورين المبتدئين يقعون في فخ استخدام ==
بدلاً من ===
، مما يؤدي إلى ظهور نتائج غير دقيقة. إليك بعض النصائح التي تساعدك في تحسين كود المقارنة:
- استخدم
===
دائمًا لتقليل احتمالية الأخطاء الناتجة عن تحويل النوع الضمني. - كن حذرًا عند مقارنة القيم التي قد تأتي من المستخدم، مثل القيم النصية أو البيانات المدخلة من النماذج.
- تحقق دائمًا من نوع المتغيرات قبل إجراء المقارنات المعقدة، ويفضل استخدام
typeof
أوArray.isArray()
حسب الحالة.
الكلمة المفتاحية المستهدفة: عمليات المقارنة في JavaScript
إذا كنت تبحث عن فهم عميق لعمليات المقارنة في JavaScript، فإن هذا الدليل يوفر لك كل ما تحتاج إليه من معلومات وأمثلة واضحة لتبني منطق برمجي سليم ودقيق. ستجد هنا الفروقات الجوهرية بين المساواة الصارمة وغير الصارمة، وأمثلة عملية توضح كيفية استخدام كل نوع بشكل صحيح.
خاتمة
في الختام، تعتبر عمليات المقارنة في JavaScript أداة قوية وأساسية لأي مطور ويب، ويجب فهمها جيدًا لتجنب الأخطاء الشائعة التي قد تؤثر على منطق التطبيق. استخدم دائمًا المساواة الصارمة ===
و!==
كلما أمكن ذلك، وكن حذرًا في تعاملك مع أنواع البيانات المختلفة.
هل لديك أسئلة أخرى حول JavaScript؟ اترك تعليقك وسنرد عليك بأسرع وقت!
نصيحة:
من الأفضل دائمًا استخدام ===
(المساواة الصارمة) و !==
(اللا مساواة الصارمة) لضمان مقارنة القيم بشكل دقيق، وعدم الوقوع في أخطاء نتيجة لتحويل النوع التلقائي الذي تقوم به JavaScript.
===
دائمًا بدلاً من ==
لتجنب الأخطاء الناتجة عن تحويل نوع البيانات التلقائي، مما يجعل الكود أكثر أمانًا وقابلية للصيانة.