العودة إلى المدونة

اتخاذ القرارات باستخدام عبارة Switch في Javascript

اتخاذ القرارات باستخدام عبارة Switch في Javascript

مقدمة

تعد العبارات الشرطية أحد أهم تدفقات التحكم في أي لغة برمجة. ونحن نستخدمها لتحديد سلوك التنفيذ بناءً على شرط معين. في Javascript، يمكن بناء الكتل الشرطية باستخدام if, else if, else، و switch عبارات.

إن عبارة switch تجعل تدفق التحكم سهلاً للقراءة من خلال اتخاذ القرار بناءً على بعض النتائج المحتملة للتعبير. اعتمادًا على حالة الاستخدام المطابقة، يمكن تنفيذ كتلة برمجية واحدة أو أكثر. إن تحكم switch مشابه لعبارة else if . ومع ذلك، فإن switch أكثر وضوحاً من حيث الصيغة البرمجية (syntax). كما أنها مثالية للسيناريوهات التي تحتوي على نتائج محتملة متعددة.

في هذا الدرس التطبيقي، سنركز على عبارة switch في Javascript وتطبيقها لبناء هياكل تحكم معقدة. سنتعلم أيضًا كيفية استخدام عبارات break , case، و default داخل كتلة switch لتوجيه تدفق التحكم.

استخدام عبارة Switch

تعمل عبارة switch بمقارنة قيمة متغير بالتعبيرات المحتملة. بعد ذلك، تقوم بتنفيذ كتلة الكود المطابقة للنتيجة. لا تختلف صيغة عبارة switch  عن عبارة if . باختصار، تُكتب صيغة عبارة switch على النحو التالي:

فيما يلي مثال على عبارة switch . وهي تحتوي على حالتين أو نتيجتين محتملتين إلى جانب خيار احتياطي محدد بواسطة الكلمة المفتاحية default . يتم تنفيذ هذا الخيار الاحتياطي عند انتهاء التنفيذ أو عند عدم العثور على حالة مطابقة:

يتم تنفيذ الكود أعلاه على النحو التالي:

  1. أولاً، يتم تقييم التعبير.

  2. بعد ذلك، تتم مطابقة نتيجة التعبير مع case x. إذا تطابقت القيمة، يتم تنفيذ كتلة الكود الموجودة أسفل case x .

  3. إذا لم يتطابق التعبير مع case x، فسيتم مطابقة case y . وإذا تم العثور على تطابق، فسيتم تنفيذ كود case y .

  4. أخيرًا، إذا لم يتطابق أي من case x ولا case y، فسيتم تنفيذ كود default وينتقل التحكم إلى خارج كتلة switch .

مثال عملي

لفهم عبارة switch ، دعنا نلقي نظرة على مثال عملي. سنقوم باستخراج قيمة يوم الأسبوع للتاريخ الحالي، باستخدام طريقة getDay() الخاصة بكائن Date في Javascript. هذه القيمة عبارة عن رقم، ليوم الأحد وصولاً إلى 6 وهو ليوم السبت. سنقوم بتقييمها مقابل القيم لتحديد أي يوم من أيام الأسبوع هو:

بعد ذلك، سنرسل هذه القيمة إلى عبارة switch . ستعمل عبارة switch من الأعلى إلى الأسفل لمطابقتها مع الحالات لتحديد أي يوم من أيام الأسبوع هو. بمجرد العثور على الحالة، ستوقف تعليمة break كتلة switch عن الاستمرار في تقييم العبارات:

بناءً على القيمة التي يتم إرجاعها من getDate()، سيتم اختبارها مقابل الحالات واحدة تلو الأخرى، بدءًا من الأعلى. ستختلف النتيجة اعتمادًا على اليوم الذي قمت فيه بتشغيل الكود. يتم وضع كتلة الكود الافتراضية (default) بحيث إذا لم تتطابق أي حالة، يمكننا التعامل مع هذا السيناريو. ومع ذلك، في هذا الكود، لن يتم استدعاء default أبدًا نظرًا لوجود عدد محدود فقط من أيام الأسبوع.

إن عبارة break تضمن أنه بمجرد مطابقة الحالة، لن يتم مطابقة أي حالات أخرى ويخرج التحكم من عبارة switch. هذا يجعل البرنامج أكثر كفاءة وأسرع.

الاختبار مقابل النطاقات في Switch

حتى الآن، كنا ننظر في حالات استخدام بسيطة للغاية. ولكن قد تكون هناك أوقات نحتاج فيها إلى الاختبار مقابل نطاق من القيم بدلاً من قيمة واحدة. يمكننا القيام بذلك عن طريق تعيين التعبير الخاص بنا إلى true وإجراء عملية داخل كل عبارة case.

دعونا نوضح حالة الاستخدام هذه بمساعدة مثال. سنأخذ رقمًا ثم نحوله إلى درجة باستخدام التصنيف أدناه:

  • الدرجة 90 فما فوق هي A

  • الدرجة من 80 إلى 89 هي B

  • الدرجة من 70 إلى 79 هي C

  • الدرجة من 60 إلى 69 هي D

  • الدرجة 59 أو أقل هي F

سنكتب هذه العبارات كعبارات switch. أدناه هو الكود الخاص بذلك:

على عكس أمثلة الكود البرمجي أعلاه، قمنا هنا بتعيين التعبير بين القوسين كـ true. وبالتالي، أي عبارة case تطابق القيمة true، سيتم تنفيذها. تمامًا مثل عبارة else if، سيتم تنفيذ العبارة الأولى التي تطابق القيمة المحددة. هنا سيكون الناتج B، على الرغم من حقيقة أن C و D تطابق التعبير أيضًا.

حالات متعددة

إذا كنت ترغب في الحصول على أكثر من حالة واحدة مع نفس كتلة الكود، فهذا ممكن أيضًا. هذا مشابه لشرط أو في عبارة if. في مثل هذه السيناريوهات، يمكننا تحديد أكثر من حالة واحدة لكل كتلة كود.

لتوضيح هذا المفهوم، سنقدم مثالاً مع أشهر السنة. سنصنف هذه الأشهر إلى فصول السنة. أولاً، سنستخدم طريقة Date() الجديدة للعثور على الرقم المقابل للشهر الحالي، وتطبيق ذلك على متغير month. ترجع طريقة Date().getMonth() رقمًا من 0  إلى 11، حيث يكون 0 هو يناير و 11 مرتبطًا بديسمبر.

سنقوم بالتصنيف باستخدام المواصفات أدناه:

  • الشتاء: يناير، وفبراير، ومارس

  • الربيع: أبريل، ومايو، ويونيو

  • الصيف: يوليو، وأغسطس، وسبتمبر

  • الخريف: أكتوبر، ونوفمبر، وديسمبر

إليك كيف سيبدو الكود البرمجي:

عند تنفيذ الكود أعلاه، وبناءً على الشهر، سيتم عرض اسم الفصل على وحدة التحكم (console).

الخاتمة

في هذا الدرس التعليمي، أوضحنا كيفية استخدام عبارة switch في تطبيقات Javascript. كما قمنا بتطبيق عبارة switch على نطاق وحالات متعددة إلى جانب الكلمة المفتاحية default. إذا كنت ترغب في معرفة المزيد عن Javascript، يمكنك الاطلاع على الدروس التعليمية التالية:

حوسبة سعيدة!

author

Shreyas Patil

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.