مقایسه 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) ? "خیلی جوان" : "بازار به اندازه کافی بزرگ است";
} 

آزمایش کنید