منابع آموزشی و پژوهشی، برای دانشگاه و مدرسه
پشتیبانیانتشار محتوا
CODEX/سطح ۱؛ عملگرها و شرطjavascriptif...else

شرط if و else در جاوااسکریپت

با if، else if و else در جاوااسکریپت مسیر اجرای برنامه را انتخاب کنید؛ ترتیب شرط‌ها، مرز عددی و تفاوت شرط مستقل را با مثال بیاموزید.

مفهوم به زبان ساده

if تصمیم می‌گیرد یک بخش برنامه اجرا شود یا نه. اگر شرط truthy باشد، بدنهٔ if اجرا می‌شود؛ در صورت falsy بودن، بدنهٔ اختیاری else اجرا خواهد شد. این ساختار برای تصمیم‌هایی مثل معتبر بودن فرم یا نمایش پیام بر اساس نتیجهٔ تمرین کاربرد دارد. بدنه را داخل آکولاد بنویسید تا مرز آن با اضافه‌شدن خط تازه همچنان روشن بماند.

برای چند حالت وابسته، else if می‌نویسیم. شرط‌ها از بالا به پایین بررسی می‌شوند و با اجرای نخستین شاخهٔ درست، شاخه‌های بعدی همان زنجیره کنار گذاشته می‌شوند. بنابراین ترتیب اهمیت دارد: اگر ابتدا score >= 10 را بنویسید، امتیاز ۱۸ هم همان شاخه را می‌گیرد و دیگر به شرط score >= 17 نمی‌رسد. شرط محدودتر باید در جای درست قرار بگیرد.

مثال روی نمرهٔ عددی معتبر بین صفر و بیست کار می‌کند و اعتبارسنجی ورودی را پیاده نمی‌کند. در برنامهٔ واقعی، ابتدا نوع و محدوده را جدا بررسی کنید. برای آزمون، فقط نمرهٔ معمولی کافی نیست؛ دقیقاً ۱۰، دقیقاً ۱۷ و عددهای دو سوی این مرزها را هم امتحان کنید. دو if مستقل ممکن است هر دو اجرا شوند، ولی در یک زنجیرهٔ if و else if حداکثر یک شاخه انتخاب می‌شود. ابتدا تعیین کنید حالت‌ها مستقل‌اند یا انتخاب‌های جایگزین.

کجا به کار می‌آید؟

  • نمایش بازخورد متناسب با نمره یا وضعیت فرم
  • انتخاب یک حالت از چند بازهٔ عددی بدون هم‌پوشانی ناخواسته

از تعریف تا یک مثال واقعی

javascript
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));
خروجی مورد انتظار
عالی
قبول
نیاز به تمرین
کد را تغییر دهید و نتیجه را ببینید.

این مثال چطور کار می‌کند؟

  1. برای نمرهٔ ۱۸، شرط نخست برقرار است و تابع عالی برمی‌گرداند.

  2. برای نمرهٔ ۱۰، شرط نخست نادرست و شرط دوم درست است؛ نتیجه قبول است.

  3. برای نمرهٔ ۹، هیچ‌یک از دو شرط درست نیست و else اجرا می‌شود.

  4. return اجرای تابع را پایان می‌دهد؛ در این مثال فقط یک پیام از هر فراخوانی برمی‌گردد.

اشتباه رایج

if (score = 10) مقایسه نمی‌کند؛ مقدار را تغییر می‌دهد. برای برابری از === استفاده کنید. همچنین گذاشتن ; بلافاصله پس از if می‌تواند بدنه را به یک دستور خالی تبدیل کند.

این را به خاطر بسپارید

شرط‌ها را به ترتیب معنا بنویسید و مرزهایشان را آزمایش کنید؛ else if برای گزینه‌های جایگزین است.

بازگشت به نقشهٔ مفاهیم
یکجا انتخاب کن، راحت‌تر دریافت کن

انتخاب‌های من ۰ منبع

مجموعهٔ مطالعه‌ات را بساز.

کنار مقاله‌ها «انتخاب» را بزنید تا چند فایل را با هم دریافت کنید.

انتخاب مقاله‌های رایگان