بالطبع، سأقدم لك شرحًا مفصلًا عن جملة `switch` في لغة JavaScript مع أمثلة متعددة لتوضيح كيفية استخدامها.
### جملة `switch` في JavaScript
جملة `switch` تُستخدم لتنفيذ كود معين بناءً على قيمة متغير أو تعبير. تعتبر جملة `switch` بديلاً لجمل `if-else if` المتعددة، مما يجعل الكود أكثر تنظيمًا ووضوحًا عندما يكون لديك العديد من الحالات الشرطية التي تعتمد على قيمة واحدة.
#### التركيب الأساسي لجملة `switch`
switch (expression) {
case value1:
// الكود [شركة برمجة مصرية] الذي سيتم تنفيذه إذا كانت القيمة تساوي value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا كانت القيمة تساوي value2
break;
// يمكنك إضافة المزيد من الحالات حسب الحاجة
default:
// الكود الذي سيتم تنفيذه إذا لم تتطابق أي من القيم مع التعبير
}
– **expression**: التعبير [شركة برمجة مصرية] الذي سيتم تقييمه ومقارنته مع القيم المحددة في حالات `case`.
– **case value**: تمثل قيمة محتملة يمكن أن يتساوى معها التعبير.
– **break**: تُستخدم لإنهاء تنفيذ الكود داخل الكتلة الحالية والخروج من جملة `switch`.
– **default**: (اختيارية) الكود الذي سيتم تنفيذه إذا لم تتطابق أي حالة مع التعبير. تُعتبر مشابهة لجملة `else` في `if-else`.
### أمثلة على استخدام `switch`
#### المثال الأول: تحديد اليوم بناءً على رقم
let dayNumber = 3;
let dayName;
switch (dayNumber) {
case 1:
dayName = "الأحد";
break;
case 2:
dayName = "الاثنين";
break;
case 3:
dayName = "الثلاثاء";
break;
case 4:
dayName = "الأربعاء";
break;
case 5:
dayName = "الخميس";
break;
case 6:
dayName = "الجمعة";
break;
case 7:
dayName = "السبت";
break;
default:
dayName = "رقم يوم غير صحيح";
}
console.log(`اليوم هو: ${dayName}`);
في هذا المثال، يتم تحديد اسم اليوم بناءً على الرقم المدخل. إذا كان الرقم لا يقع بين 1 و7، يتم طباعة “رقم يوم غير صحيح”.
#### المثال الثاني: تصنيف درجة الطالب
let grade = 'B';
let message;
switch (grade) {
case 'A':
message = "ممتاز";
break;
case 'B':
message = "جيد جدًا";
break;
case 'C':
message = "جيد";
break;
case 'D':
message = "مقبول";
break;
case 'F':
message = "راسب";
break;
default:
message = "درجة غير صحيحة";
}
console.log(`تصنيفك: ${message}`);
في هذا المثال، يتم استخدام جملة `switch` لتحديد رسالة مناسبة بناءً على درجة الطالب.
#### المثال الثالث: التعامل مع مواسم السنة
let month = "مارس";
let season;
switch (month) {
case 'ديسمبر':
case 'يناير':
case 'فبراير':
season = "الشتاء";
break;
case 'مارس':
case 'أبريل':
case 'مايو':
season = "الربيع";
break;
case 'يونيو':
case 'يوليو':
case 'أغسطس':
season = "الصيف";
break;
case 'سبتمبر':
case 'أكتوبر':
case 'نوفمبر':
season = "الخريف";
break;
default:
season = "شهر غير صحيح";
}
console.log(`الفصل هو: ${season}`);
في هذا المثال، يتم تحديد الفصل بناءً على اسم الشهر. لاحظ كيف يمكن جمع حالات متعددة تحت نفس الكود باستخدام جملة `switch`.
### الخلاصة
تُعد جملة `switch` أداة قوية في JavaScript لتنفيذ كود مختلف بناءً على قيم متعددة. تُسهل هذه الجملة من قراءة الكود وصيانته، خاصة عندما يكون لديك العديد من الشروط المرتبطة بنفس المتغير أو التعبير. تأكد من استخدام جملة `break` لمنع تنفيذ الحالات التالية بعد مطابقة الحالة الصحيحة، واستخدم جملة `default` للتعامل مع الحالات غير المتوقعة.
