javascriptif...elseشرط if و else در جاوااسکریپت
با if، else if و else در جاوااسکریپت مسیر اجرای برنامه را انتخاب کنید؛ ترتیب شرطها، مرز عددی و تفاوت شرط مستقل را با مثال بیاموزید.
مفهوم به زبان ساده
if تصمیم میگیرد یک بخش برنامه اجرا شود یا نه. اگر شرط truthy باشد، بدنهٔ if اجرا میشود؛ در صورت falsy بودن، بدنهٔ اختیاری else اجرا خواهد شد. این ساختار برای تصمیمهایی مثل معتبر بودن فرم یا نمایش پیام بر اساس نتیجهٔ تمرین کاربرد دارد. بدنه را داخل آکولاد بنویسید تا مرز آن با اضافهشدن خط تازه همچنان روشن بماند.
برای چند حالت وابسته، else if مینویسیم. شرطها از بالا به پایین بررسی میشوند و با اجرای نخستین شاخهٔ درست، شاخههای بعدی همان زنجیره کنار گذاشته میشوند. بنابراین ترتیب اهمیت دارد: اگر ابتدا score >= 10 را بنویسید، امتیاز ۱۸ هم همان شاخه را میگیرد و دیگر به شرط score >= 17 نمیرسد. شرط محدودتر باید در جای درست قرار بگیرد.
مثال روی نمرهٔ عددی معتبر بین صفر و بیست کار میکند و اعتبارسنجی ورودی را پیاده نمیکند. در برنامهٔ واقعی، ابتدا نوع و محدوده را جدا بررسی کنید. برای آزمون، فقط نمرهٔ معمولی کافی نیست؛ دقیقاً ۱۰، دقیقاً ۱۷ و عددهای دو سوی این مرزها را هم امتحان کنید. دو if مستقل ممکن است هر دو اجرا شوند، ولی در یک زنجیرهٔ if و else if حداکثر یک شاخه انتخاب میشود. ابتدا تعیین کنید حالتها مستقلاند یا انتخابهای جایگزین.
کجا به کار میآید؟
- نمایش بازخورد متناسب با نمره یا وضعیت فرم
- انتخاب یک حالت از چند بازهٔ عددی بدون همپوشانی ناخواسته
از تعریف تا یک مثال واقعی
function feedback(score) {
if (score >= 17) {
return 'عالی';
} else if (score >= 10) {
return 'قبول';
} else {
return 'نیاز به تمرین';
}
}
console.log(feedback(18));
console.log(feedback(10));
console.log(feedback(9));
عالی قبول نیاز به تمرین
این مثال چطور کار میکند؟
برای نمرهٔ ۱۸، شرط نخست برقرار است و تابع عالی برمیگرداند.
برای نمرهٔ ۱۰، شرط نخست نادرست و شرط دوم درست است؛ نتیجه قبول است.
برای نمرهٔ ۹، هیچیک از دو شرط درست نیست و else اجرا میشود.
return اجرای تابع را پایان میدهد؛ در این مثال فقط یک پیام از هر فراخوانی برمیگردد.
اشتباه رایج
if (score = 10) مقایسه نمیکند؛ مقدار را تغییر میدهد. برای برابری از === استفاده کنید. همچنین گذاشتن ; بلافاصله پس از if میتواند بدنه را به یک دستور خالی تبدیل کند.
این را به خاطر بسپارید
شرطها را به ترتیب معنا بنویسید و مرزهایشان را آزمایش کنید؛ else if برای گزینههای جایگزین است.