عملگرهای منطقی و مقایسه ای در جاوا اسکریپت

از ویکی کد
پرش به ناوبری پرش به جستجو
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 ساخت نمونه مثال این بخش در دست اقدام است.


منابع آموزشی