مقایسه JavaScript
مقایسه و عملگرهای منطقی برای تست true
یا false
。
عملگرهای مقایسهای
عملگرهای مقایسهای در جملات منطقی استفاده میشوند تا تعیین شود آیا متغیرها یا مقادیر برابر هستند یا خیر.
ما x = 5 را دادهایم، جدول زیر توضیح میدهد که عملگرهای مقایسهای چگونه عمل میکنند:
عملگر | توضیح | مقایسه | بازگشت | آزمایش |
---|---|---|---|---|
== | برابر با | x == 8 | false | آزمایش کنید |
x == 5 | true | آزمایش کنید | ||
x == "5" | true | آزمایش کنید | ||
=== | مقدارها و نوعها برابر هستند | x === 5 | true | آزمایش کنید |
x === "5" | false | آزمایش کنید | ||
!= | غیر برابر | x != 8 | true | آزمایش کنید |
!== | مقدارها یا نوعها متفاوت هستند | x !== 5 | false | آزمایش کنید |
x !== "5" | true | آزمایش کنید | ||
x !== 8 | true | آزمایش کنید | ||
> | > | بیشتر از | false | آزمایش کنید |
< | کمتر از | x < 8 | true | آزمایش کنید |
>= | بیشتر یا برابر با | x >= 8 | false | آزمایش کنید |
<= | کمتر یا برابر با | x <= 8 | true | آزمایش کنید |
چگونه استفاده میشود
عملگرهای مقایسهای میتوانند در دستورالعملهای شرطی برای مقایسه مقادیر استفاده شوند و بر اساس نتایج اقدام کنند:
if (age < 18) text = "خیلی جوان";
در بخشهای بعدی این درس، شما بیشتر درباره دستورالعملهای شرطی یاد خواهید گرفت.
عملگرهای منطقی
عملگرهای منطقی برای تعیین منطق بین متغیرها یا مقادیر استفاده میشوند.
ما x = 6 و y = 3 را دادهایم، جدول زیر توضیح میدهد که عملگرهای منطقی چگونه عمل میکنند:
عملگر | توضیح | مثال | آزمایش |
---|---|---|---|
&& | و | (x < 10 && y > 1) به حقیقت پیوسته است | آزمایش کنید |
|| | یا | (x == 5 || y == 5) به درستی پیوسته نیست | آزمایش کنید |
! | ناکارآمد | !(x == y) به حقیقت پیوسته است | آزمایش کنید |
عملگر شرطی (سهگانه)
JavaScript نیز شامل عملگرهای شرطی است که میتوانند بر اساس برخی شرایط به متغیرها ارزش بدهند.
قواعد
نام_متغیر = (شرط) ? value1:value2
مثال
var voteable = (age < 18) ? "خیلی جوان" : "کافیاً بزرگسال";
اگر کسی age کمتر از 18 باشد، مقدار voteable "خیلی جوان" خواهد بود، در غیر این صورت مقدار voteable "کافیاً بزرگسال" خواهد بود。
مقایسه نوعهای مختلف
مقایسه دادههای مختلف ممکن است نتایج غیرمنتظرهای ایجاد کند.
اگر یک رشته را با عدد مقایسه کنید، JavaScript در هنگام مقایسه آن رشته را به عدد تبدیل میکند. رشته خالی به 0 تبدیل میشود. رشتههای غیر数值ی به عددی که همیشه false
است NaN
。
مثال | مقدار | آزمایش |
---|---|---|
2 < 12 | true | آزمایش کنید |
2 < "12" | true | آزمایش کنید |
2 < "Bill" | false | آزمایش کنید |
2 > "Bill" | false | آزمایش کنید |
2 == "Bill" | false | آزمایش کنید |
"2" < "12" | false | آزمایش کنید |
"2" > "12" | true | آزمایش کنید |
"2" == "12" | false | آزمایش کنید |
وقتی دو رشته را مقایسه میکنیم، "2" بزرگتر از "12" است، زیرا (بر اساس مرتبه الفبا) 1 کوچکتر از 2 است.
برای اطمینان از نتایج صحیح، باید متغیر را قبل از مقایسه به نوع مناسب تبدیل کرد:
age = Number(age); اگر (isNaN(age)) { voteable = "خطا در ورودی"; } voteable = (age < 18) ? "خیلی جوان" : "بازار به اندازه کافی بزرگ است"; }