JavaScript Comparison and Logical Operators
عملگرهای مقایسهای و منطقی جهت مشخص کردن true یا false به کار میروند.
عملگرهای مقایسهای
عملگرهای مقایسهای در عبارات منطقی جهت مشخص کردن برابری یا تفاوت بین مقادیر یا متغیرها استفاده میشوند. با فرض x = 5
جدول زیر نحوه عملکرد عملگرهای مقایسهای را توضیح میدهد:

چگونگی استفاده از عملگرهای مقایسهای
عملگرهای مقایسهای را میتوان در عبارات شرطی جهت مقایسه مقادیر و انجام عملی بسته به نتیجه این مقایسه به کار برد.
if (age < 18) text = "Too young to travel by herself";
در فصل عبارات شرطی بیشتر در این مورد خواهید آموخت.
عملگرهای منطقی
عملگرهای منطقی جهت تعیین منطق بین متغیرها و مقادیر استفاده میشوند. فرض کنید که x = 6
و y = 3
است. در جدول زیر بر اساس مقدار این دو متغیر نحوه عملکرد عملگرهای منطقی توضیح داده شده است:

عملگر شرطی سه گانه
جاوا اسکریپت شامل عملگر شرطی است که بر اساس بعضی شرایط مقداری را به متغیری نسبت میدهد.
variablename = (condition) ? value1:value2
در مثال زیر اگر متغیر age زیر 18 باشد، مقدار متغیر voteable برابر "Too young" و در غیر اینصورت برابر "Old enough" خواهد بود.
let voteable = (age < 18) ? "Too young":"Old enough";
مقایسه نوع دادههای متفاوت با هم
زمانی که دادههای از نوع متفاوت با هم مقایسه شوند، ممکن است که نتایج غیرقابل انتظاری حاصل شود.
زمانی که یک رشته با عددی مقایسه شود، جاوا اسکریپت ابتدا رشته را به عدد تبدیل میکند و سپس مقایسه را انجام میدهد. یک رشته خالی به صفر و یک رشته غیر عددی به NaN
که نتیجه آن همیشه false
است تبدیل میشوند.

زمانی که دو رشته به مانند "2" و "12" با هم مقایسه شوند، از آنجا که 1 کمتر از 2 است، در نتیجه نهایی "2" بزرگتر از "12" خواهد بود.
برای مطمئن شدن از جواب مناسب، باید متغیرها قبل از مقایسه به نوع مناسب تبدیل شوند.