درود دوستان! توی ادامه قسمت‌های مربوط به عملگرها بریم که عملگرهای مقایسه‌ای جاوااسکریپت رو مفصل بررسی کنیم.

 

عملگرهای مقایسه‌ای چی هستن؟ 🤔

ما مقایسه اعدادی که توی ریاضی داشتیم (مثلاً 5 > 4) رو توی زبان‌های برنامه‌نویسی هم داریم. این نوع عملگرها برای مقایسه کردن مقدارها (عملوندها) به کار میرن. برای مثال توی کد زیر می‌خوایم ببینیم که آیا مقدار a بزرگتر از b هست یا نه. این کار رو با عملگر < می‌دیم:

let a = 5;
let b = 4;

>> alert(a > b);

خروجی همه عملگرهای مقایسه‌ای یک مقدار بولین هست: true یا false. ما توی جاوااسکریپت عملگرهای مقایسه‌ای زیر رو داریم:

 

عمگر مقایسه‌ای 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

 

خب دوستان این هم از عملگرهای مقایسه‌ای. توی قسمت بعد عملگرهای منطقی رو بررسی می‌کنیم 😉

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators