4.3 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Switch Statements | تبديل العبارات |
تبديل العبارات
يشبه بيان switch في البرمجة عبارة if-else ، ولكنه يستفيد أحيانًا من سهولة القراءة عند وجود الكثير من الشروط. كما أنه يسمح بإضافة كتلة default سيتم تنفيذها في حالة عدم تحقق أي من الشروط الأخرى.
بناء الجملة:
switch(expression) { case 1: console.log('1'); break; case 2: console.log('2'); break; default: console.log('No true condition, 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) تقييمه ويمكن اختباره.
فمثلا:
var someValue; var expression = someValue; switch(expression){ case someValue: console.log('10'); // 10 would be printed to the console break; case 23: console.log('12'); break; default: console.log('No matches'); }
ملاحظة: يمكن أن يكون expression في المقتطف أعلاه عبارة عن سلسلة أو رقم.
استراحة
مطلوب الكلمة الأساسية break في كل حالة للتأكد من أن يتم تنفيذ التعليمات البرمجية فقط في هذه الحالة. بدون الفاصل ، يمكن تنفيذ عدة حالات. عندما تصل JavaScript إلى كلمة رئيسية break ، فإنها break عن كتلة المحول. إذا تم ترك break خارج المثال أعلاه ، فهذا ما سيحدث:
var expression = 1; switch(expression) { case 1: console.log('1'); // 1 would be printed to console case 2: // As there is no break after case 1, this case is also executed. console.log('2'); // 2 would be printed to the console. break; // break -> Switch statement is exited default: console.log('No true condition, default'); }
تنفيذ حالات متعددة:
كما تسمح switch لنفس كتلة التعليمات البرمجية يتم تنفيذها بواسطة حالات متعددة. يمكن القيام بذلك عن طريق إضافة case : واحدة أو أكثر case : الكلمات الأساسية قبل كتلة التعليمات البرمجية.
على سبيل المثال:
switch (day) { case 4: case 5: console.log('it is nearly the weekend'); break; case 0: case 6: console.log('it is the weekend'); break; default: console.log('Looking forward to the Weekend'); }
في المقتطف أعلاه:
- إذا كان
dayهو4أو5(الخميس أو الجمعة) ، فسيتم طباعةit is nearly the weekendإلى وحدة التحكم حيث يتم تنفيذ الحالة الأولى. - إذا كان
dayهو0أو6، (السبت أو الأحد) ، سيتم طباعةit is the weekendإلى وحدة التحكم كما يتم تنفيذ الحالة الثانية. - إذا كان
dayهو أي قيمة أخرى ، فستتم طباعةLooking forward to the Weekendإلى وحدة التحكم ، حيث يتم تنفيذ الحالة الافتراضية.