ما هو الـ String Enum؟
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 53 من 73.
يتم التصريح عن التعدادات النصية (String enums) من خلال تهيئة كل عضو بشكل صريح بقيمة نصية:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}على عكس التعدادات الرقمية (numeric enums) التي تزداد تلقائياً، يجب تهيئة كل عضو في التعداد النصي (string enum) بشكل صريح. تتضح الفائدة فوراً عند تصحيح الأخطاء - فبدلاً من رؤية أرقام غامضة مثل 0 أو 1 في سجلاتك، سترى قيماً وصفية مثل "UP" أو "DOWN".
التحدي
سهلأنشئ تعداداً نصياً (string enum) باسم Direction بأربعة أعضاء:
Upتمت تهيئته بـ"UP"Downتمت تهيئته بـ"DOWN"Leftتمت تهيئته بـ"LEFT"Rightتمت تهيئته بـ"RIGHT"
أنشئ أربعة متغيرات لتوضيح قيم التعداد:
upDirectionمن النوعDirectionوقم بتعيين القيمةDirection.UpلهdownDirectionمن النوعDirectionوقم بتعيين القيمةDirection.DownلهleftDirectionمن النوعDirectionوقم بتعيين القيمةDirection.LeftلهrightDirectionمن النوعDirectionوقم بتعيين القيمةDirection.Rightله
اطبع المخرجات التالية في أسطر منفصلة:
- اطبع قيمة
upDirection - اطبع قيمة
downDirection - اطبع قيمة
leftDirection - اطبع قيمة
rightDirection - اطبع القيمة النصية لـ
Direction.Up - اطبع القيمة النصية لـ
Direction.Down
جرّب بنفسك
// TODO: اكتب كودك هنا
// اطبع المخرجات المطلوبةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى TypeScript
1البداية مع TS
ما هي TypeScript؟لماذا نستخدم TypeScript؟أول كود TypeScript لكعملية الـ Compilation والأخطاءملخص: مقدمة في TS4التعامل مع الدوال
تحديد أنواع المعاملات وقيم الإرجاعتحديد أنواع Arrow Functionsنوع الإرجاع 'void'المعاملات الاختيارية باستخدام '?'القيم الافتراضية للمعاملاتتحديد أنواع Rest Parametersتعريف أنواع الدوالملخص: بناء دوال محددة الأنواع2الأنواع الأساسية
الأنواع الأساسية: str, num, booleanالنوع 'any': مخرج الهروبالنوع 'unknown'التعامل مع 'null' و 'undef'استنتاج الأنواع في التطبيق العمليتوضيحات الأنواع الصريحةمراجعة: تدريب على الأنواع الأساسية5الأنواع: الأسماء المستعارة، الاتحادات والتقاطعات
الأسماء المستعارة للأنواع الأساسية (Primitives)أنواع الاتحاد ('|')التعامل مع أنواع الاتحادالأنواع الحرفية (Literal Types)أنواع التقاطع ('&')دمج الأسماء المستعارة للأنواعملخص: تركيبات الأنواع المتقدمة3هياكل البيانات: المصفوفات و Tuple
المصفوفات محددة النوع (Typed Arrays)معدل 'readonly' للمصفوفاتما هو الـ Tuple؟تعريف والوصول إلى الـ Tuplesتفكيك الـ Tuples (Destructuring)الـ Tuples للقراءة فقط (Readonly)المصفوفات محددة النوع متعددة الأبعاداستخدام Spread Operator مع المصفوفاتملخص: المصفوفات و Tuples6تحديد أنواع الكائنات والواجهات
توصيف أنواع الكائنات المضمنة (Inline)الأسماء المستعارة للأنواع (Type Aliases) للكائناتمقدمة عن الواجهات (Interfaces)الواجهات (Interfaces) مقابل الأسماء المستعارة للأنواع (Type Aliases)الخصائص الاختيارية وخصائص القراءة فقط (Readonly)توسيع الواجهات والأنواعإضافة الدوال (Methods) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: Playground لـ TypeScript