دستور switch ECMAScript

دستور switch

دستور switch برادر دستور if است.

توسعه‌دهندگان می‌توانند از دستور switch برای ارائه مجموعه‌ای از حالت‌ها (case) برای یک عبارت استفاده کنند.

قوانین دستور switch:

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

هر حالت (case) نشان‌دهنده expression برابر با value، اجرا می‌شود statement

کلید break باعث می‌شود که کد از عبارت switch خارج شود. اگر کلید break وجود نداشته باشد، اجرای کد به حالت بعدی case ادامه خواهد داد.

کلید default عملیاتی را که برای نتایجی که با هیچ یک از حالت‌ها مطابقت ندارد تعیین می‌کند (در واقع، این در مقایسه با else از جمله است).

عبارت switch عمدتاً برای جلوگیری از نوشتن کد زیر استفاده می‌شود:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("other");

عبارت switch معادل زیر است:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("other");
}

مقایسه عبارت switch در ECMAScript و Java

مقایسه عبارت switch در ECMAScript و Java دو نکته متفاوت دارد. در ECMAScript، عبارت switch می‌تواند برای رشته‌ها استفاده شود و می‌تواند از مقادیر غیر ثابت برای توضیح حالت‌ها استفاده کند:

var BLUE = "blue", RED = "red", GREEN  = "green";
switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

در اینجا، عبارت switch برای رشته sColor استفاده می‌شود، که از متغیرهای BLUE، RED و GREEN برای تعریف case استفاده می‌کند، که در ECMAScript کاملاً معتبر است.