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

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
JavaScript-menu.png
موارد آموزشی
فرم‌ها در جاوا اسکریپت
اشیاء در جاوا اسکریپت
تابع در جاوا اسکریپت
HTML DOM در جاوا اسکریپت
Browser BOM در جاوا اسکریپت
AJAX در جاوا اسکریپت
JSON در جاوا اسکریپت
جی‌کوئری در برابر جاوا اسکریپت
مرجع جاوا اسکریپت

عملگرهای مقایسه‌ای و منطقی برای بررسی کردن مقدار 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 مشاهدهٔ نتیجه

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

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

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


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


تمرینات جاوا اسکریپت

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



منابع آموزشی