عملگرهای منطقی و مقایسه‌ای

از موتو کد، دانشنامهٔ برنامه‌نویسی

عملگرهای مقایسه‌ای و منطقی برای بررسی کردن مقدار true یا true استفاده می‌شود. [۱]

عملگرهای مقایسه ای[ویرایش | ویرایش]

از عملگرهای مقایسه‌ای در عبارات منطقی برای بررسی مساوات یا تفاوت بین متغیرها یا مقدارها استفاده می‌شود.

فرض بگیرید که مقدار 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 مشاهدهٔ نتیجه
> بزرگتر از x > 8 false مشاهدهٔ نتیجه
< کوچکتر از          x < 8 true مشاهدهٔ نتیجه
>= بزرگتر یا مساوی x >= 8 false مشاهدهٔ نتیجه
<= کوچکتر یا مساوی x <= 8 true مشاهدهٔ نتیجه

چگونه از این عملگرها می‌توان استفاده کرد[ویرایش | ویرایش]

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

if (age < 18) text = "Too young";

شما در فصل بعدی این آموزش مطالب بیشتری را در مورد شیوه استفاده از جملات شرطی در جاوا اسکریپت خواهید آموخت.

عملگرهای منطقی[ویرایش | ویرایش]

از عملگرهای منطقی برای بررسی منطق بین متغیرها یا مقدارها استفاده می‌شود.

فرض بگیرید که مقدار x = 6 و مقدار y = 3 است، سپس به جدول نگاه کنید که عملگرهای منطقی را توضیح داده است:

عملگر توضیحات مثال امتحان کنید
&& And (به فارسی: واو عطف) (x < 10 && y > 1) برابر با True است. مشاهدهٔ نتیجه
|| or (به فارسی: یا) (x == 5 برابر با False است. مشاهدهٔ نتیجه
! نقیض !(x == y) برابر با True است. مشاهدهٔ نتیجه

عملگر شرطی در جاوا اسکریپت[ویرایش | ویرایش]

جاوا اسکریپت همچنین عملگر شرطی ای دارد که یک متغیر را با توجه به یک شرط مقدار دهی می‌کند.

شیوهٔ نوشتار[ویرایش | ویرایش]

variablename = (condition) ? value1:value2

مثال[ویرایش | ویرایش]

var voteable = (age < 18) ? "Too young":"Old enough";


مشاهدهٔ نتیجه


اگر متغیر Age دارای مقداری زیر ۱۸ باشد، مقدار متغیر voteable برابر با عبارت "too young " خواهد بود، در حالی که اگر اینچنین نباشد، مقدار متغیر Voteable برابر با عبارت "old enough" خواهد بود.

مقایسهٔ نوع داده‌های مختلف[ویرایش | ویرایش]

مقایسهٔ نوع داده‌های مختلف ممکن است موجب بروز نتایج ناخواسته شود.

زمانی که یک مقدار رشته‌ای (String) را با یک مقدار عددی مقایسه می‌کنیم، جاوا اسکریپت مقدار رشته‌ای (String) را هنگام انجام مقایسه به نوع عددی تبدیل می‌کند.

مقدار رشته‌ای خالی به عدد صفر تبدیل می‌شود. یک رشته متنی شامل مقدار غیر عددی به مقدار NaN تبدیل می‌شود که همیشه برابر با مقدار False است.


مقایسه نتیجه مشاهدهٔ نتیجه
2 < 12 True مشاهدهٔ نتیجه
2 < "12" True مشاهدهٔ نتیجه
2 < "John" False مشاهدهٔ نتیجه
2 > "John" False مشاهدهٔ نتیجه
2 == "John" False مشاهدهٔ نتیجه
"2" < "12" False مشاهدهٔ نتیجه
"2" > "12" True مشاهدهٔ نتیجه
"2" == "12" False مشاهدهٔ نتیجه

زمانی که دو رشته را با یک دیگر مقایسه می‌کنیم، "۲" از "۱۲" بزرگتر خواهد بود، زیرا (بر اساس حروف الفبا) ۱ کوچکتر از ۱۲ است.

برای بدست آوردن یک نتیجه دلخواه و دقیق، متغیرها می‌بایست قبل از انجام مقایسه به نوع مد نظر تبدیل شوند:

age = Number(age);
if (isNaN(age)) {
  voteable = "Input is not a number";
} else {
  voteable = (age < 18) ? "Too young" : "Old enough";
}


مشاهدهٔ نتیجه


تمرینات جاوا اسکریپت[ویرایش | ویرایش]

Time2wait.svg ساخت نمونه مثال این بخش در دست اقدام است.



منابع آموزشی[ویرایش]