توفر جافا سكريبت إمكانيات قوية لمقارنة الأرقام، وهو جانب بالغ الأهمية في بناء تطبيقات ديناميكية واستجابية. يستكشف هذا الدليل التقنيات الأساسية للمقارنة الفعالة للقيم العددية.
محتويات
عوامل المقارنة
توفر جافا سكريبت ستة عوامل مقارنة رئيسية لتقييم العلاقات العددية. تعيد هذه العوامل قيمة منطقية (true
أو false
).
العامل | الوصف | مثال | النتيجة |
---|---|---|---|
=== |
المساواة الصارمة (تتحقق من القيمة والنوع معًا) | 5 === 5 |
true |
!== |
عدم المساواة الصارمة | 5 !== "5" |
true |
> |
أكبر من | 10 > 5 |
true |
< |
أقل من | 5 < 10 |
true |
>= |
أكبر من أو يساوي | 10 >= 10 |
true |
<= |
أقل من أو يساوي | 5 <= 10 |
true |
لماذا المساواة الصارمة (===
)؟ يُنصح عمومًا باستخدام المساواة الصارمة لمنع التحويل غير المتوقع للنوع. يقوم عامل المساواة غير الصارم (==
) بتحويل النوع قبل المقارنة، مما قد يؤدي إلى أخطاء.
5 == "5"; // true (يحدث تحويل النوع)
5 === "5"; // false (المساواة الصارمة؛ الأنواع مختلفة)
العوامل المنطقية
تجمع العوامل المنطقية بين عمليات مقارنة متعددة، مما يخلق عبارات شرطية معقدة.
العامل | الوصف | مثال | النتيجة (إذا كانت num1 = 10، num2 = 5) |
---|---|---|---|
&& |
AND المنطقي (يجب أن تكون كلا الشرطين صحيحين) | (num1 > 5) && (num2 < 10) |
true |
|| |
OR المنطقي (يجب أن يكون شرط واحد على الأقل صحيحًا) | (num1 0) |
true |
! |
NOT المنطقي (يقلب القيمة المنطقية) | !(num1 === num2) |
true |
let score = 85;
if (score >= 90 && score = 80 && score < 90) {
console.log("درجة جيد جداً");
} else {
console.log("أقل من جيد جداً");
}
ربط عمليات المقارنة
للحصول على رمز أنظف، قم بربط عمليات المقارنة عند التحقق مما إذا كان الرقم يقع ضمن نطاق معين:
let age = 25;
if (18 <= age && age < 65) {
console.log("شخص بالغ");
}
معالجة الحالات الخاصة (NaN، اللانهاية)
NaN
(ليس رقمًا) و Infinity
يتطلبان اعتبارًا خاصًا:
NaN
لا يساوي نفسه أبدًا:NaN === NaN
هوfalse
. استخدمisNaN()
للتحقق منNaN
.- لـ
Infinity
و-Infinity
سلوكيات مقارنة محددة.
isNaN(Number("hello")); // true
Infinity > 1000; // true
-Infinity < -1000; // true
خاتمة
إتقان عمليات مقارنة الأرقام في جافا سكريبت أمر أساسي لبناء تطبيقات قوية. من خلال استخدام عوامل المقارنة والمنطقية بفعالية، وفهم الحالات الخاصة، يمكنك إنشاء رمز وظيفي وموثوق للغاية.