كيفية التحقق مما إذا كانت القيمة موجودة في enum في TypeScript؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم TypeScript وواجهت مشكلة أثناء العمل مع التعدادات (enum). لدي هذا الكود:
```typescript
enum Color {
Red = 'RED',
Green = 'GREEN',
Blue = 'BLUE'
}
// أحصل على قيمة من مصدر خارجي (مثل API)
const userInput: string = 'RED'; // أو ربما 'YELLOW'
// أحتاج للتحقق مما إذا كان userInput قيمة صالحة لـ Color
if (userInput === Color.Red) {
console.log('هذا أحمر');
}
```
لكن المشكلة هي أنه إذا حصلت على قيمة غير موجودة في enum (مثل 'YELLOW')، أحتاج إلى معالجة هذا الموقف بشكل صحيح. جربت استخدام `Object.values(Color).includes(userInput)`، لكن TypeScript يشتكي من أن `userInput` من النوع `string` وليس `Color`.
أرجو إرشادي، كيف يمكن التحقق بشكل صحيح مما إذا كانت القيمة موجودة في enum؟ هل أحتاج إلى استخدام أدوات مساعدة خاصة أم يوجد حل بسيط؟ شكرًا مقدمًا!
ملاحظة: أنا أستخدم string enum، لكن سيكون من المفيد معرفة ذلك.