عملگرهای مقایسه ای در جاوااسکریپت
در جاوااسکریپت از عملگرهای مقایسه ای (Comparison operators) برای مقایسه عملوندها استفاده میشود. این عملگرها براساس درستی یا نادرستی مقایسه، مقدار true (برای حالت صحیح) یا false (برای حالت نادرست) را برمیگردانند.
بیشتر بخوانید: عملگرها در جاوااسکریپت
چند نکته در مورد عملگرهای مقایسه
عملوندهای یک عملگر مقایسه در جاوااسکریپت میتوانند از نوع های یکسان یا مختلفی باشند. برای مثال ممکن است دو عدد 12 و 20 با یکدیگر مقایسه شوند یا عدد 12 با رشته “20” مقایسه شود.
زمانی که دو عملوند دارای نوع یکسانی نباشند در اغلب مقایسه ها (به جز عملگرهای === و !==) جاوااسکریپت تلاش میکند آنها را به نوع مناسبی برای مقایسه تبدیل کند. برای مثال در مقایسه بین عدد 12 و رشته “20” ، رشته به عدد 20 تبدیل میشود تا امکان مقایسه فراهم شود.
فرض کنید x متغیری با مقدار 6 باشد. در این صورت، عبارت x < 7 مقدار متغیر x را با کمک عملگر “کوچکتر از” با عدد 7 مقایسه میکند. اگر عملوند سمت چپ کوچکتر از عملوند سمت راست باشد این عملگر مقدار true را برمیگرداند و در غیراینصورت مقدار false را برمیگرداند. از آنجایی که در این مثال، مقدار متغیر x (یعنی عدد 6) از عدد 7 کوچکتر است نتیجه این مقایسه true خواهد بود.
در مثال زیر نمونهای از کاربرد یک عملگر مقایسه در دستور شرطی if را مشاهده میکنید (با این دستور در بخشهای آتی این مجموعه آموزشی آشنا میشوید). با توجه به صحیح بودن نتیجه مقایسه، شرط دستور if برآورده میشود و عبارت x is less than 7 (به معنای x کوچکتر از 7 است) در کنسول درج میشود.
let x = 6;
if (x < 7) console.log("x is less than 7");
فهرست عملگرهای مقایسه در جاوااسکریپت
جدول زیر فهرست عملگرهای مقایسه ای جاوااسکریپت را همراه با توضیح، مثال و نتیجه آنها نمایش میدهد. در این جدول فرض شده مقدار x برابر با 6 و مقدار y برابر با “10” است.
نام عملگر | عملگر | توضیح | مثال | نتیجه مثال |
---|---|---|---|---|
مساوی | == |
اگر عملوندها مساوی باشند true برمیگرداند. | x == 6 |
true |
x == "6" |
true |
|||
x == 5 |
false |
|||
y == 10 |
true |
|||
عدم تساوی | != |
اگر عملوندها مساوی نباشند true برمیگرداند. | x != 6 |
false |
x != "6" |
false |
|||
x != 5 |
true |
|||
y != 10 |
false |
|||
کاملا مساوی (مقدار مساوی و نوع یکسان) |
=== |
اگر مقدار عملوندها مساوی و از یک نوع باشند true برمیگرداند. | x === 6 |
true |
x === "6" |
false |
|||
x === 5 |
false |
|||
y === 10 |
false |
|||
مقدار نامساوی یا نوع غیریکسان | !== |
اگر مقدار عملوندها مساوی نباشد یا از یک نوع نباشند true برمیگرداند. | x !== 6 |
false |
x !== "6" |
true |
|||
x !== 5 |
true |
|||
y !== 10 |
true |
|||
کوچکتر از | < |
اگر عملوند سمت چپ کوچکتر از عملوند سمت راست باشد true برمیگرداند. | x < 6 |
false |
x < 7 |
true |
|||
x < "7" |
true |
|||
کوچکتر یا مساوی | <= |
اگر عملوند سمت چپ کوچکتر یا مساوی عملوند سمت راست باشد true برمیگرداند. | x <= 6 |
true |
x <= 7 |
true |
|||
x <= "7" |
true |
|||
بزرگتر از | > |
اگر عملوند سمت چپ بزرگتر از عملوند سمت راست باشد true برمیگرداند. | x > 6 |
false |
x > 5 |
true |
|||
x > "5" |
true |
|||
بزرگتر یا مساوی | >= |
اگر عملوند سمت چپ بزرگتر یا مساوی عملوند سمت راست باشد true برمیگرداند. | x >= 6 |
true |
x >= 5 |
true |
|||
x >= "5" |
true |