Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الـ Heterogeneous Enums

جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 55 من 73.

يدعم TypeScript أيضًا التعدادات غير المتجانسة - وهي تعدادات تحتوي على مزيج من الأعضاء النصية والرقمية ضمن التصريح نفسه.

إليك كيفية إنشاء تعداد غير متجانس:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

في هذا المثال، يُعدّ No وMaybe عضوين رقميين، بينما يُعدّ Yes عضوًا نصيًا. تتيح TypeScript هذه المرونة، مع أنه من المهم ملاحظة أن التعدادات غير المتجانسة نادرًا ما تُستخدم عمليًا.

challenge icon

التحدي

سهل

Create تعدادًا غير متجانسًا باسم ResponseCode يمزج بين القيم النصية والرقمية:

  • Success مهيّأ إلى 200
  • Error مهيّأ إلى "ERROR"
  • NotFound مهيّأ إلى 404
  • Timeout مهيّأ إلى "TIMEOUT"

Create دالة باسم handleResponse تأخذ معاملًا واحدًا:

  • code من النوع ResponseCode

ينبغي أن تقوم الدالة بما يلي:

  • التحقق من رمز الاستجابة وطباعة رسائل مختلفة بناءً على القيمة
  • إذا كان الرمز هو ResponseCode.Success، فاطبع "Request successful"
  • إذا كان الرمز هو ResponseCode.Error، فاطبع "General error occurred"
  • إذا كان الرمز هو ResponseCode.NotFound، فاطبع "Resource not found"
  • إذا كان الرمز هو ResponseCode.Timeout، فاطبع "Request timed out"
  • أن يكون نوع الإرجاع هو void

Create أربعة متغيرات لعرض قيم التعداد:

  • successCode من النوع ResponseCode وإسناد ResponseCode.Success إليه
  • errorCode من النوع ResponseCode وإسناد ResponseCode.Error إليه
  • notFoundCode من النوع ResponseCode وإسناد ResponseCode.NotFound إليه
  • timeoutCode من النوع ResponseCode وإسناد ResponseCode.Timeout إليه

اطبع المخرجات التالية:

  • Print قيمة successCode
  • Print قيمة errorCode
  • Print قيمة notFoundCode
  • Print قيمة timeoutCode
  • استدعِ handleResponse باستخدام ResponseCode.Success
  • استدعِ handleResponse باستخدام errorCode
  • استدعِ handleResponse باستخدام القيمة الرقمية 404

جرّب بنفسك

// TODO: اكتب الكود الخاص بك هنا

// أنشئ الـ enum ResponseCode


// أنشئ الدالة handleResponse


// أنشئ المتغيرات التوضيحية


// اطبع المخرجات المطلوبة
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس مقدمة إلى TypeScript

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت