Avatar ·

كيفية الحصول على أسماء (مفاتيح) قيم التعداد (enum) في TypeScript؟

مرحبًا! أنا مبتدئ في TypeScript وواجهت مشكلة عند العمل مع التعدادات (enums). لنفترض أن لدي هذا التعداد: ```typescript enum Color { Red = 1, Green = 2, Blue = 4 } ``` أريد الحصول ديناميكيًا على قائمة بجميع الأسماء (المفاتيح) لهذا التعداد، أي مصفوفة من السلاسل النصية: `["Red", "Green", "Blue"]`. حاولت استخدام `Object.keys(Color)`، لكن النتيجة لم تكن كما توقعت. في وحدة التحكم تظهر أرقام أيضًا: `["1", "2", "4", "Red", "Green", "Blue"]`. لماذا يحدث هذا؟ هل هو خطأ في TypeScript؟ أحتاج تحديدًا إلى الحصول على الأسماء، على سبيل المثال، لعرضها في قائمة منسدلة في واجهة المستخدم أو للتحقق من صحة القيم التي يدخلها المستخدم. كيف يمكنني فعل ذلك بشكل صحيح؟ هل هناك دالة مدمجة أم يجب كتابة دالة خاصة؟ سأكون ممتنًا لشرح مفصل مع أمثلة. كما أنني مهتم بمعرفة كيفية التعامل مع التعدادات الرقمية والنصية — هل هناك فرق في الأسلوب؟ شكرًا مقدمًا! <<>>

لماذا يُرجع Object.keys() أرقامًا؟

هذا ليس