مقارنة جافا سكريبت والعوامل المنطقية
تستخدم المقارنة والعوامل المنطقية لاختبار true
أو
false
.
عوامل المقارنة
تُستخدم عوامل المقارنة في البيانات المنطقية لتحديد المساواة أو الاختلاف بين المتغيرات أو القيم.
بالنظر إلى ذلك x = 5
، يوضح الجدول أدناه عوامل المقارنة:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
كيف يمكن أن تستخدم
يمكن استخدام عوامل المقارنة في العبارات الشرطية لمقارنة القيم واتخاذ الإجراءات بناءً على النتيجة:
if (age < 18) text = "Too young to buy alcohol";
سوف تتعلم المزيد حول استخدام العبارات الشرطية في الفصل التالي من هذا البرنامج التعليمي.
العوامل المنطقية
تُستخدم العوامل المنطقية لتحديد المنطق بين المتغيرات أو القيم.
بالنظر إلى ذلك x = 6
، y = 3
يوضح الجدول أدناه العوامل المنطقية:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
عامل التشغيل الشرطي (الثلاثي)
تحتوي JavaScript أيضًا على عامل شرطي يقوم بتعيين قيمة لمتغير بناءً على بعض الشروط.
بناء الجملة
variablename = (condition) ? value1:value2
مثال
let voteable = (age < 18) ? "Too young":"Old enough";
إذا كانت القيمة المتغيرة للعمر أقل من 18 ، فإن قيمة المتغير القابل للتصويت ستكون "صغيرة جدًا" ، وإلا فإن قيمة المتغير القابل للتصويت ستكون "قديمة بدرجة كافية".
مقارنة الأنواع المختلفة
قد تؤدي مقارنة البيانات من أنواع مختلفة إلى نتائج غير متوقعة.
عند مقارنة سلسلة برقم ، ستحول JavaScript السلسلة إلى رقم عند إجراء المقارنة. يتم تحويل سلسلة فارغة إلى 0. يتم تحويل سلسلة غير رقمية إلى NaN
الذي هو دائمًا false
.
Case | Value | Try |
---|---|---|
2 < 12 | true | |
2 < "12" | true | |
2 < "John" | false | |
2 > "John" | false | |
2 == "John" | false | |
"2" < "12" | false | |
"2" > "12" | true | |
"2" == "12" | false |
عند مقارنة سلسلتين ، سيكون "2" أكبر من "12" ، لأن 1 (أبجديًا) أقل من 2.
لتأمين نتيجة مناسبة ، يجب تحويل المتغيرات إلى النوع المناسب قبل المقارنة:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}