كيفية استخراج نوع خاصية من واجهة TypeScript؟
مرحباً بالجميع! أنا مبتدئ في TypeScript وواجهت مشكلة لم أتمكن من حلها لعدة ساعات. لدي واجهة تصف المستخدم:
```typescript
interface User {
id: number;
name: string;
email: string;
role: 'admin' | 'user' | 'guest';
createdAt: Date;
}
```
الآن أحتاج إلى إنشاء نوع منفصل يتوافق فقط مع الخاصية `role` من هذه الواجهة. أي أريد الحصول على النوع `'admin' | 'user' | 'guest'` دون الحاجة إلى إعادة تعريفه يدوياً.
حاولت كتابة شيء مثل `type RoleType = User['role']`، لكنني لست متأكداً من أن هذا هو الصياغة الصحيحة أو إذا كان ذلك ممكناً في TypeScript. حاولت البحث في Google لكنني وجدت العديد من الأمثلة المعقدة مع الأنواع الشرطية (conditional types) والأنواع المعينة (mapped types) التي لم أفهمها بعد.
هل من طريقة بسيطة وأنيقة "لاستخراج" نوع خاصية معينة من واجهة؟ سأكون ممتناً لأمثلة الكود وشرح للمبتدئين.
الوسوم: typescript, typing, واجهات, خصائص