مقايسه وعملگرهاي منطقي براي بررسيtrue
ياfalse
مورد استفاده قرار ميگيرند.
عملگرهاي مقايسه اي(Comparison Operators) براي تعين تساوى، يا اختلاف مابين
متغيرها يا مقادير در دستورات منطقي
فرض كنيدx=5
باشد، جدول زير عملگرهاي مقايسه اي را تشريح ميكند.
عملگر | شرح | مقايسه نمودن | نتيجه | تلاش دراجرا |
---|---|---|---|---|
== | مساوي با | x==8
x==5 x=="5" | false false true |
|
=== | نوع داده ومقدار مساوي | x===5
x==="5" | true false |
|
!= | نامساوي | x!=8 | true | |
!== | نامساوي مقداريا نوع داده | x!==5 x!=="5" x!==8 | false true true |
|
> | بزرگتراز | x>8 | false | |
< | كوچكتراز | x<8 | true | |
>= | بزرگتر يا مساوي از | x>=8 | false | |
<= | كوچكتر يا مساوي از | x<=8 | true | |
عملگرهاي مقايسه اي مي توانند در دستورات شرطي براي مقايسه مقادير واقدام براساس نتيجه بكار گرفته شوند .نمونه زير:
if (age < 18) text = "Too young to buy alcohol";
در فصل بعدي مطالب جامعتري در ارتباط با دستورات شرطي مطرح ميشود.
عملگرهاي منطقي براي ايجاد ارتباط منطقي بين متغيرها يا مقادير استفاده ميشوند.
در جدول زير باتوجه باينكهx=6
وy=3
منظور ميشوند، عملكرهاي منطقي تشريح ميگردند.
عملگر | شــرح | مثال | نتيجه | تلاش در اجرا |
---|---|---|---|---|
&& | and | (x<10 && y>1) | true | |
|| | or | (x==5 || y==5) | false | |
! | not | !(x==y) | true | |
جاوااسكريپت داراي يك عملگر شرطي است، كه براساس بعضي شرايط مقداري را به متغير نسبت ميدهد.
مثال ـ عملگر?
let voteable = (age < 18) ? "Too young":"Old enough";
در مثال فوق اگرage<18 باشد مقدار متغيرvoteable برابر "Too young"ميشود، در غيراينحالت "Old enough"خواهد بود. .
مقايسه داده ها با نوع هاي مختلف نتايجي دور از انتظار ايجاد ميكند.
هنگاميكه رشته اي در عبارت مقايسه با عددي باشد، رشته ابتدا به عدد تبديل ميگردد .يك رشته تهي
به صفر تبديل ميشود .رشته غير عددي به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 | |
هنگاميكه دور رشته"2", "12" مقايسه مي شوند، مقايسه الفابتي است درنتيجه "2">"12"است ..
براي اطمينان درنتيجه مقايسه ، ابتدا متغيرها بايد بطور مناسبي تبديل گردد.
age = Number(age); if (isNaN(age)) { voteable = "Input is not a number"; } else { voteable = (age < 18) ? "Too young" : "Old enough"; }
عملگر??درصورتيكه اولين آرگومان null يا undefined باشد، خودش برگشت ميشود، درغيراينحالت آرگومان دوم برگشت ميشود.
مثال
let name = null; let text = "missing"; let result = name ?? text;
عملگرnullish توسط همه مرورگرها ازمارس2020 پشتيباني ميشود.
80 Feb 2020 | 80 Feb 2020 | 72 Jan 2020 | 13.1 Mar 2020 | 67 Mar 2020 |
عملگرundefined ?.برگشت ميدهد، اگر يك شئ null يا nudefined باشد، بجاي اينكه خطائي صادر شود.
مثال ـ عملگر?.
// Create an object: const car = {type:"Fiat", model:"500", color:"white"}; // Ask for car name: document.getElementById("demo").innerHTML = car?.name;