مقایسه 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); if (isNaN(age)) { voteable = "خطای ورودی"; } voteable = (age < 18) ? "خیلی جوان" : "بسیار بزرگسال"; }