برخی اوقات لازم است که تستهای درست/نادرست را اجرا کنیم، و سپس بر اساس نتیجه این تست اقدامهای مختلفی صورت بدهیم. در این موارد از «عملگرهای مقایسهای» (comparison operators) استفاده کنید.
عملگر | نام | هدف | مثال |
---|---|---|---|
=== | برابری صریح (Strict equality) | برابر بودن مقادیر سمت چپ و راست را بررسی میکند. | 5 === 2 + 4 |
!== | نابرابری صریح (Strict-non-equality) | برابر نبودن مقادیر سمت راست و چپ را بررسی میکند. | 5 !== 2 + 3 |
< | کمتر از | کمتر بودن مقدار سمت چپ از سمت راست را بررسی میکند. | 10 < 6 |
> | بزرگتر از | بزرگتر بودن مقدار سمت چپ از سمت راست را بررسی میکند. | 10 > 20 |
<= | کمتر یا مساوی | بررسی میکند که آیا مقدار سمت چپ کمتر یا مساوی مقدار سمت راست است یا نه. | 3 <= 2 |
>= | بزرگتر یا مساوی | بررسی میکند که آیا مقدار سمت چپ بزرگتر یا مساوی مقدار سمت راست است یا نه. | 5 >= 4 |
ممکن است متوجه شده باشید که برخی افراد در تستهای خود از عملگرهای == و != استفاده میکنند. این عملگرها نیز در جاوا اسکریپت معتبر هستند؛ اما از === یا ===! متفاوت هستند. این نسخه از عملگرها بررسی میکنند که آیا مقادیر متغیرها برابر هستند یا نه ولی برابر بودن نوع دادهها را بررسی نمیکنند. نسخههای دوم به نام نسخههای صریح مشهور هستند و برابری مقدار و همچنین نوع داده را بررسی میکند. نسخههای صریح این عملگرها، خطاهای کمتری تولید میکنند و از این رو استفاده از آنها توصیه میشود.
اگر برخی از این مقادیر را در کنسول وارد کنید میبینید که همه آنها مقادیر true/false باز میگردانند. این مقادیر بولی (Boolean) هستند که قبلاً در مقالات دیگر با آنها آشنا شدهایم. این مقادیر بسیار مفید هستند چون به ما امکان تصمیمگیری در مورد کد را میدهند و هر بار که میخواهیم نوعی گزینه را انتخاب کنیم به کار میآیند. برای نمونه مقادیر بولی به منظورهای زیر استفاده میشوند:
- نمایش برچسب متنی صحیح روی یک دکمه بسته به این که امکانی فعال شده است یا نه.
- نمایش پیام خاتمه بازی در صورت به پایان رسیدن آن و نمایش پیام پیروزی در صورتی که بازیکن در بازی برنده شود.
- نمایش پیام تبریک فصلی بسته به این که فصل تعطیلات رسیده است یا نه.
- بزرگنمایی روی نقشه بسته به این که چه سطحی از بزرگنمایی انتخاب شده است.
شیوه کدنویسی چنین منطقی را هنگام استفاده از گزارههای شرطی در مقاله بعدی از این سلسله مطالب بررسی خواهیم کرد. در حال حاضر یک مثال ساده را بررسی میکنیم:
میبینید که عملگر برابری درون تابع ()updateBtn استفاده شده است. در این حالت بررسی میکنیم که آیا دو عبارت ریاضیاتی مقادیر یکسانی دارند یا نه. ما مشغول تست این نکته هستیم که آیا محتوای متنی دکمه شامل رشته خاصی است یا نه؛ اما از همین مفهوم استفاده میکنیم. اگر دکمه در حال حاضر هنگام کلیک شدن، پیام «Start machine» را نمایش میدهد، برچسب آن را به صورت «Stop machine» تغییر میدهیم و برچسب را به همین ترتیب بهروزرسانی میکنیم. اگر دکمه در حال حاضر پیام «Stop machine» را هنگام کلیک شدن، نمایش میدهد، مجدداً پیام قبلی را نمایش میدهیم.
دقت کنید که چنین کنترلی که بین دو حالت متفاوت سوئیچ میکند، اصطلاحاً toggle نامیده میشود و گفته میشود که کنترل بین دو حالت toggle میکند.