آموزش جاوا اسکریپت – فصل نوزدهم: سوئیچ (Switch)

دستور سوئیچ در زبان برنامه نویسی جاوا اسکریپت بسیار شبیه دستور if کار میکند. به نظر می رسد که یک سوئیچ عملیاتی که چند if و else if و else پشت سر هم انجام میدهند را انجام میدهد. فصل نوزدهم آموزش جاوا اسکریپت نتران به شرح نحوه تعریف و استفاده از دستور Switch در این زبان اختصاص دارد.

جاوا اسکریپت - فصل نوزدهم: سوئیچ Switch

استفاده از سوئیچ در زبان جاوا اسکریپت در هنگامی که میخواهیم از بین چندین قطعه بلاک کد برای اجرا شدن یکی (یا چند تا) را طبق مقدار ورودی انتخاب کنیم بسیار مناسب است.

نحوه نگارش دستور سوئیچ در جاوا اسکریپت

نحوه نگارش دستور سوییچ در زبان جاوا اسکریپت اینگونه است:

switch(expression or literal value){
    case 1:
        //code to be executed
      break;
    case 2:
        //code to be executed
        break;
    case n:
        //code to be executed
        break;
    default:
        //default code to be executed 
        //if none of the above case executed
}

همین طور که در سینتکس بالا می بینید، ابتدا باید به دستور switch یک مقدار وارد شود. این مقدار می تواند یک متغیر یا یک Literal باشد.

هنگامی که مقدار مورد نظر را به سوئیچ میدهیم، سوئیچ از بین case های مشخص شده اولین case منطبق را میابد و کد های زیر مجموعه آن case را اجرا می کند.

برنامه نویس در هنگام تعریف به یک سوئیچ می تواند هر تعداد که بخواهد case مشخص کند تا شرایط برای اجرای کد ها را تعیین کند.

دقت کنید که در دستور سوییچ کد ها تا زمانی اجرا می شوند که به کلمه کلیدی break برسد. پس اگر شرطی در یک case برقرار باشد ولی در آن case از دستور break استفاده نشده باشد سیستم case های بعدی را نیز بررسی خواهد کرد.

مورد default شبیه else عمل می کند. در واقع این دستور برای سوئیچ مشخص می کند که اگر هیچ کدام از case ها برقرار نبود چه قطعه کدی اجرا شود.

به مثال زیر توجه کنید:

var a = 3;

switch (a) {
    case 1:
        alert('case 1 executed');
        break;
    case 2:
        alert("case 2 executed");
        break;
   case 3:
        alert("case 3 executed");
        break;
    case 4:
        alert("case 4 executed");
        break;
    default:
        alert("default case executed");
}

فصل 19 – مثال 1

در مثال بالا متغیری به نام a به سوئیچ داده شده است و به ترتیب چهار case با شروط مختلف تعیین شده اند که در صورت برابر بودن a با هر یک، کد های زیر مجموعه آن اجرا خواهد شد. در مثال بالا a برابر 3 است پس آلرت case 3 executed نشان داده می شود.

در مثال بالا چون از کلمه کلیدی break استفاده شده است، به اولین case منطبق که برسیم کد های زیر مجموعه آن اجرا می شود و سوئیچ به پایان خواهد رسید. در صورتی که از کلمه کلیدی break استفاده نشده باشد سیستم همچنان برای پیدا کردن کیس های منطبق، کار خود را ادامه خواهد داد.

استفاده از عبارات به عنوان Case در سوئیچ جاوا اسکریپت

یک case در سوئیچ همچنین می تواند حاوی عبارتی خاص نیز برای شرط باشد. به مثال زیر توجه کنید:

var a = 3;

switch (a/3) {
    case 1:
        alert("case 1 executed");
        break;
    case 2:
        alert("case 2 executed");
        break;
    case 3:
        alert("case 3 executed");
        break;
    case 4:
        alert("case 4 executed");
        break;
    default:
        alert("default case executed");
}

فصل 19 – مثال 2

در مثال بالا مورد اول اجرا خواهد شد زیرا 3/3=1 است.

استفاده از رشته به عنوان Case در سوئیچ جاوا اسکریپت

همچنین در دستور سوئیچ در زبان جاوا اسکریپت می توانید از رشته نیز استفاده کنید مانند مثال زیر:

var str = "mehdi";

switch (str) 
{
    case "abbas":
        alert("عباس اینجاست");
    case "asghar":
        alert("اصغر اینجاست");
        break;
    case "mehdi":
        alert("مهدی اینجاست");
        break;
    default:
        alert("شخص ناشناخته");
        break;
}

فصل 19 – مثال 3

ادغام چند Case در یک سوئیچ جاوا اسکریپت

همچنین زبان جاوا اسکریپت اجازه ادغام چند case را نیز می دهد، این عملیات هنگامی انجام می شود که شما case های متعدد بدون break و بدون کد زیرمجموعه بنویسید. مانند مثال زیر:

var a = 2;

switch (a) {
    case 1:
    case 2:
    case 3:
        alert("case 1, 2, 3 executed");
        break;
    case 4:
        alert("case 4 executed");
        break;
    default:
        alert("default case executed");
}

فصل 19 – مثال 4

ویدیوها و مطالب مشابه