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

استخدام الـ String Enums

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

تعمل الـ String enums بشكل جيد بشكل خاص كمعاملات للدوال (function parameters) لأنها توفر قيمًا واضحة وقابلة للقراءة مع الحفاظ على سلامة الأنواع (type safety).

إليك كيفية استخدام تعداد نصي (string enum) في دالة:

function move(direction: Direction): void {
  console.log(`Moving ${direction.toLowerCase()}...`);
}

عندما تستدعي هذه الدالة، سيقبل TypeScript فقط قيم الـ enum المحددة مسبقاً. يمكنك استدعاؤها باستخدام move(Direction.Up)، والتي ستُخرج "Moving up...". سيوفر محرر الأكواد الخاص بك ميزة الإكمال التلقائي لأعضاء الـ enum المتاحة، وسيقوم TypeScript برصد أي محاولات لتمرير قيم اتجاه غير صالحة.

challenge icon

التحدي

سهل

لقد تم تزويدك بما يلي من التحدي السابق:

  • تعداد السلسلة النصية (string enum) المسمى Direction مع الأعضاء Up، و Down، و Left، و Right
  • المتغيرات: upDirection، و downDirection، و leftDirection، و rightDirection

قم بإنشاء دالة باسم move تأخذ معاملًا واحدًا:

  • direction من النوع Direction

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

  • طباعة رسالة بالتنسيق "Moving [direction]..." حيث [direction] هي نسخة الأحرف الصغيرة (lowercase) من قيمة السلسلة النصية للتعداد
  • أن يكون نوع الإرجاع الخاص بها هو void

قم بإنشاء دالة باسم getMovementDescription تأخذ معاملًا واحدًا:

  • direction من النوع Direction

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

  • إرجاع سلسلة نصية تصف الحركة بناءً على الاتجاه:
  • بالنسبة لـ Direction.Up: إرجاع "Going upward"
  • بالنسبة لـ Direction.Down: إرجاع "Going downward"
  • بالنسبة لـ Direction.Left: إرجاع "Turning left"
  • بالنسبة لـ Direction.Right: إرجاع "Turning right"
  • أن يكون لها نوع إرجاع صريح وهو string

قم بإنشاء متغير باسم playerDirection من النوع Direction وقم بتعيين Direction.Up له.

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

  • استدعاء move مع Direction.Up
  • استدعاء move مع leftDirection
  • استدعاء move مع playerDirection
  • طباعة نتيجة استدعاء getMovementDescription مع Direction.Down
  • طباعة نتيجة استدعاء getMovementDescription مع rightDirection
  • استدعاء move مع Direction.Right

جرّب بنفسك

// من التحدي السابق - تعداد الاتجاه (Direction enum) والمتغيرات
enum Direction {
    Up = "Up",
    Down = "Down",
    Left = "Left",
    Right = "Right"
}

const upDirection = Direction.Up;
const downDirection = Direction.Down;
const leftDirection = Direction.Left;
const rightDirection = Direction.Right;

// المهام المطلوبة: اكتب الكود الخاص بك هنا
// أنشئ دالة move التي تأخذ معامل Direction وتطبع "...Moving [direction]"
// أنشئ دالة getMovementDescription التي تُرجع أوصاف الحركة
// أنشئ متغير playerDirection
// استدعِ الدوال واطبع المخرجات المطلوبة
quiz iconاختبر نفسك

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

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

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