جملة Switch
جزء من قسم Fundamentals في رحلة JavaScript على Coddy — الدرس 27 من 77.
تُعد جملة switch طريقة أخرى للتحكم في تدفق برنامجك بناءً على شروط مختلفة. وهي تشبه استخدام if-else if-else، ولكنها قد تكون أكثر إيجازاً وسهولة في القراءة في حالات معينة.
إليك كيفية عمل تعبير switch:
switch (expression) {
case value1:
// الكود الذي سيتم تنفيذه إذا تطابق التعبير مع value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا تطابق التعبير مع value2
break;
// ... حالات إضافية ...
default:
// الكود الذي سيتم تنفيذه في حال عدم تطابق أي حالة
}- يتم تقييم الـ
expressionمرة واحدة. - تتم مقارنة قيمة التعبير مع قيم كل
case. - إذا كان هناك تطابق، يتم تنفيذ كتلة الكود المرتبطة بها.
- تُستخدم جملة
breakللخروج من جملةswitch. بدونها، سيستمر التنفيذ إلى الحالة التالية.
- تعتبر حالة
defaultاختيارية. ويتم تنفيذها إذا لم تتطابق أي حالة أخرى.
إليك مثال:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "Sunday";
break;
case 2:
dayName = "Monday";
break;
case 3:
dayName = "Tuesday";
break;
// ... حالات للأيام الأخرى ...
default:
dayName = "Invalid day";
}
console.log(dayName); // المخرج: Tuesdayفي هذا المثال، تتحقق جملة switch من قيمة day. وبما أن day تساوي 3، يتم تنفيذ الحالة (case) الخاصة بـ 3، مما يضبط dayName على "Tuesday".
التحدي
مبتدئستتلقى أمراً من المستخدم.
استخدم switch statement لتعيين قيمة المتغير message بناءً على الأمر.
قم بتعيين message إلى:
"System starting"← إذا كان الأمر هو"start""System stopping"← إذا كان الأمر هو"stop""System paused"← إذا كان الأمر هو"pause""System resuming"← إذا كان الأمر هو"resume"
إذا لم يتطابق الأمر مع أي خيار معروف، فقم بتعيين:
"Unknown command"
في النهاية، سيقوم البرنامج بطباعة قيمة message.
مهمتك هي تعيين قيمة <strong>message</strong> بشكل صحيح باستخدام switch statement.
ورقة مرجعية
يتحكم بيان switch في تدفق البرنامج بناءً على شروط مختلفة، بشكل مشابه لـ if-else if-else ولكنه أكثر إيجازاً في حالات معينة.
الصيغة الأساسية:
switch (expression) {
case value1:
// الكود الذي سيتم تنفيذه إذا تطابق التعبير مع value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا تطابق التعبير مع value2
break;
default:
// الكود الذي سيتم تنفيذه في حال عدم تطابق أي حالة
}- يتم تقييم الـ
expressionمرة واحدة ومقارنته مع كل قيمةcase - ينهي بيان
breakالـ switch؛ وبدونه، يستمر التنفيذ إلى الحالة التالية - حالة
defaultاختيارية ويتم تنفيذها إذا لم تتطابق أي حالة أخرى
مثال:
let day = 3;
let dayName;
switch (day) {
case 1:
dayName = "Sunday";
break;
case 2:
dayName = "Monday";
break;
case 3:
dayName = "Tuesday";
break;
default:
dayName = "Invalid day";
}
console.log(dayName); // المخرجات: Tuesdayجرّب بنفسك
// الحصول على الأمر من المستخدم
let command = inp;
// إنشاء متغير لتخزين الرسالة
let message;
switch (command) {
// اكتب كودك هنا
}
// طباعة الرسالة
console.log(message);يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
2المتغيرات
الأرقامString (النصوص)Boolean (القيم المنطقية)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيراتالثوابت8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - Factorialحلقة Do Whileالحلقات المتداخلة3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةالمساواة الصارمة مقابل العاديةمراجعة - العمليات الحسابية البسيطة6أساسيات الإدخال والإخراج (IO)
الإخراجالإخراج باستخدام المتغيراتتحويل أنواع البيانات - الجزء الأولتحويل أنواع البيانات - الجزء الثانيمراجعة - حتى 120مراجعة - صح أم خطأ