نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
JS

منهج JavaScript

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج JavaScript/جملة الاختيار (Switch Statement)

جملة الاختيار (Switch Statement)

switch case javascriptجملة الاختيار جافاسكريبتbreak switchfall through js

جدول مرجعي سريع

1
العنصرالوظيفة
switch(x)تحديد المتغير المراد فحصه
case value:حالة محتملة للمطابقة
breakإيقاف التنفيذ بعد تنفيذ case
defaultالحالة الافتراضية عند عدم التطابق

الشرح

جملة switch هي بديل أنظف لسلسلة طويلة من else if عندما تريد مقارنة متغير واحد بعدة قيم محتملة. تبدأ بكتابة switch متبوعة بالتعبير المراد فحصه بين قوسين، ثم مجموعة من كتل case، كل واحدة تمثل قيمة محتملة، وكتلة اختيارية default تُنفذ إذا لم تتطابق أي حالة.

من أهم النقاط التي يجب فهمها جيداً هي كلمة break — بعد تنفيذ كود أي case، ينتقل التنفيذ تلقائياً إلى الحالة التالية ما لم تُوقفه بـ break صراحة، وتُسمى هذه الظاهرة "Fall-through". أحياناً يُستغل هذا السلوك عمداً لتنفيذ نفس الكود لعدة حالات متتالية بدون تكرار.

switch يستخدم المقارنة الصارمة (===) عند فحص الحالات، أي أنه يقارن القيمة والنوع معاً بدون أي تحويل ضمني — تماماً كعامل === في if. هذا يعني أن case "5" لن يتطابق مع القيمة الرقمية 5.

من الناحية العملية، تُفضَّل جملة switch على سلسلة else if الطويلة عندما تكون المقارنات كلها على نفس المتغير بقيم محددة (كأيام الأسبوع أو حالات نظام)، لأنها أوضح للقراءة وأسهل للصيانة. أما عندما تكون الشروط معقدة أو تشمل نطاقات (مثل أكبر من أو أصغر من)، تبقى if/else هي الخيار الأنسب.

الصياغة (Syntax)

syntax
1switch (المتغير) {
2 case القيمة1:
3 // كود ينفذ إذا تطابقت القيمة1
4 break;
5 case القيمة2:
6 // كود آخر
7 break;
8 default:
9 // ينفذ إذا لم تتطابق أي حالة
10}

أمثلة عملية

مثال 1: switch أساسي لتحديد اسم اليوم

switch أساسي لتحديد اسم اليوم
1function اسم_اليوم(رقم) {
2 switch (رقم) {
3 case 1:
4 return "السبت";
5 case 2:
6 return "الأحد";
7 case 3:
8 return "الاثنين";
9 default:
10 return "يوم غير معروف";
11 }
12}
13console.log(اسم_اليوم(2)); // "الأحد"

مثال 2: استخدام Fall-through لتجميع حالات متشابهة

استخدام Fall-through لتجميع حالات متشابهة
1// استغلال Fall-through عمداً لعدة حالات متشابهة
2function هل_عطلة(يوم) {
3 switch (يوم) {
4 case "الجمعة":
5 case "السبت":
6 return "عطلة نهاية الأسبوع";
7 default:
8 return "يوم عمل";
9 }
10}
11console.log(هل_عطلة("السبت")); // "عطلة نهاية الأسبوع"

نصائح احترافية

  • —لا تنسَ break داخل كل case وإلا سيستمر التنفيذ في الحالات التالية دون قصد (Fall-through).
  • —switch يقارن بـ === أي بلا تحويل أنواع — "5" لن تُطابق 5.
  • —استغلال Fall-through المتعمد (بدون break بين حالتين) طريقة أنيقة لتجميع حالات متشابهة.
  • —ضع default دائماً في نهاية switch كحماية من القيم غير المتوقعة.

الدرس السابق

الجمل الشرطية (If, Else, Else If)

الدرس التالي

الحلقات التكرارية: الجزء الأول (For Loops)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر