يشبه بيان `switch` في البرمجة عبارة `if-else` ، ولكنه يستفيد أحيانًا من سهولة القراءة عند وجود الكثير من الشروط. كما أنه يسمح بإضافة كتلة `default` سيتم تنفيذها في حالة عدم تحقق أي من الشروط الأخرى.
يظهر المقتطف أعلاه بناء الجملة لبيان `switch` أساسي. في هذا المثال ، هناك 3 سيناريوهات مختلفة لـ:
*`expression = 1` : الشرط الأول صحيح ، ويتم طباعة `1` إلى وحدة التحكم.
*`expression = 2` : الشرط الثاني صحيح ، ويتم طباعة `2` إلى وحدة التحكم.
*`expression = 'anything else'` : Case 1 and Case 2 كلاهما false ، لذا يتم تنفيذ الشرط الافتراضي.
الشرط `default` هو الشرط الذي سيتم تنفيذه إذا لم يكن أي من الحالات الأخرى صحيحًا.
ملاحظة: هناك نقطة مهمة يجب ملاحظتها هنا وهي أنه في المقتطف أعلاه ، قد يبدو أن `case 1:``case 2:` تمثل نوعًا من الترتيب ، ولكن `1` و `2` لا يمثلان سوى الإجابات التي قد يتم تقييمها `(expression)` . لذلك ، بدلاً من 1 و 2 ، يمكن أن يكون أي شيء يمكن لـ `(expression)` تقييمه ويمكن اختباره.
ملاحظة: يمكن أن يكون `expression` في المقتطف أعلاه عبارة عن سلسلة أو رقم.
### استراحة
مطلوب الكلمة الأساسية `break` في كل حالة للتأكد من أن يتم تنفيذ التعليمات البرمجية فقط في هذه الحالة. بدون الفاصل ، يمكن تنفيذ عدة حالات. عندما تصل JavaScript إلى كلمة رئيسية `break` ، فإنها `break` عن كتلة المحول. إذا تم ترك `break` خارج المثال أعلاه ، فهذا ما سيحدث:
كما تسمح `switch` لنفس كتلة التعليمات البرمجية يتم تنفيذها بواسطة حالات متعددة. يمكن القيام بذلك عن طريق إضافة `case :` واحدة أو أكثر `case :` الكلمات الأساسية قبل كتلة التعليمات البرمجية.