درود دوستان! توی ادامه قسمتهای مربوط به عملگرها بریم که عملگرهای مقایسهای جاوااسکریپت رو مفصل بررسی کنیم.
عملگرهای مقایسهای چی هستن؟ 🤔
ما مقایسه اعدادی که توی ریاضی داشتیم (مثلاً 5 > 4) رو توی زبانهای برنامهنویسی هم داریم. این نوع عملگرها برای مقایسه کردن مقدارها (عملوندها) به کار میرن. برای مثال توی کد زیر میخوایم ببینیم که آیا مقدار a بزرگتر از b هست یا نه. این کار رو با عملگر < میدیم:
let a = 5; let b = 4; >> alert(a > b);
خروجی همه عملگرهای مقایسهای یک مقدار بولین هست: true یا false. ما توی جاوااسکریپت عملگرهای مقایسهای زیر رو داریم:
==Equal یا برابری!=Not Equal===Strict Equal!==Strict Not Equal>Greater than یا بزرگتری<=Greater than or equal یا بزرگتر مساوی<Less than یا کوچکتری>=Less than or equal
عمگر مقایسهای Equal یا برابری
این عملگر به صورت دو علامت مساوی کنار هم == هست و عملوندهای خودش رو مقایسه میکنه که آیا با هم برابر هستن یا خیر:
let a = 2; let b = 2; >> alert(a == b); // true
اگه هر دو عملوند مقدار یکسانی داشته باشن، چیزی که عملگر Equal تولید میکنه true هست. در غیر این صورت false.
این عملگر به Loose Equal هم معروف هست. به این معنی که توی مقایسهای که عملوندها مقدار یکسان اما نوع متفاوتی دارن، خروجی true هست:
let a = "2"; let b = 2; alert(a == b); // true
توی این کد نوع متغیر a رشته و نوع متغیر b عددی هست. اما چون هر دو مقدار مشابهی دارن، true میگیریم.
عملگر مقایسهای Not Equal
این عملگر به صورت != هست و بررسی میکنه آیا دو عملوند مقدار غیریکسانی دارن یا خیر. اگه مقدار عملوندها غیربرابر باشه، خروجی true و در غیر این صورت false:
let a = 7; let b = 2; >> alert(a != b); // true alert(2 != 2); // false
عملگر مقایسهای Strict Equal
این عملگر که به صورت کنارهم قرار گرفتن سه علامت مساوی === هست، شباهت زیادی به عملگر Equal داره. با این تفاوت که خروجی زمانی true هست که عملوندها علاوه بر مقدار، نوع یکسانی هم داشته باشن:
alert(2 === 2); // true alert(2 === "2"); // false
توی کد بالا، نتیجه مقایسه دوم برای این false میشه که عملوندها نوعهای متفاوتی از هم دارن، هر چند ظاهرشون یکسان هست.
برای جزئیات بیشتر از تفاوت == و === میتونین ویدئو زیر رو ببینین:
عملگر مقایسهای Strict Not Equal
این عملگر به صورت !== هست و از اون زمانی استفاده میکنیم که میخوایم عدمِ برابری مقدار و نوع دو عملوند رو بررسی کنیم:
5 !== "5"; // true
توی این مقایسه عملوندهای چپ و راست مقدار یکسانی دارن اما نوع اونها متفاوت هست. بنابراین نتیجه این عملگر برای ما true هست، به این معنی که با هم برابر نیستن.
عملگر مقایسهای Greater than یا بزرگتری
این عملگر با کارکتر > هست و زمانی به ما true برمیگردونه که مقدار سمت چپ بزرگتر از مقدار سمت راست باشه:
alert(5 > 2); // true
عملگر مقایسهای Greater than or equal یا بزرگتر مساوی
این عملگر که به صورت >= هست شباهت زیادی به عملگر قبلی داره. ما زمانی true میگیریم که مقدار سمت چپ، بزرگتر یا مساوی با مقدار سمت راست باشه:
alert(5 >= 5); // true alert(5 >= 2); // true alert(5 >= 9); // false
عملگر مقایسهای Less than یا کوچکتری
این عملگر با کارکتر < هست و زمانی به ما true میده که مقدار سمت چپ کوچیکتر از مقدار سمت راست باشه:
alert(5 < 90); // true alert(4 < 2); // false alert(4 < 4); // false
عملگر مقایسهای Less than or equal
این عملگر هم که شباهت زیادی به عملگر قبلی داره و با کارکتر <= هست، زمانی به ما true برمیگردونه که مقدار سمت چپ کوچیکتر یا مساوی با مقدار سمت راست باشه:
alert(4 <= 10); // true alert(4 <= 4); // true alert(4 <= 2); // false
خب دوستان این هم از عملگرهای مقایسهای. توی قسمت بعد عملگرهای منطقی رو بررسی میکنیم 😉