4.3 KiB
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
إلى وحدة التحكم ، حيث يتم تنفيذ الحالة الافتراضية.