Avatar ·

كيفية إنشاء كائن بناءً على واجهة TypeScript؟ الطرق الصحيحة

مرحباً بالجميع! لقد بدأت مؤخراً في تعلم TypeScript وواجهت مشكلة. لدي واجهة لوصف المستخدم: ```typescript interface User { id: number; name: string; email: string; age?: number; } ``` الآن أريد إنشاء كائن يتوافق مع هذه الواجهة. جربت القيام بذلك: ```typescript const user: User = { id: 1, name: 'إيفان', email: 'ivan@example.com' }; ``` هذا يعمل، ولكن إذا حاولت إنشاء كائن فارغ ثم إضافة الحقول، يشتكي TypeScript: ```typescript const user: User = {}; user.id = 1; user.name = 'إيفان'; // خطأ: Type '{}' is not assignable to type 'User'. ``` كما رأيت أنه يمكن استخدام `as` لتحويل الأنواع، لكنني قرأت أن هذا خطير. أرشدوني إلى كيفية إنشاء كائن بناءً على واجهة بشكل صحيح، خاصة إذا كنت أرغب في ملئه تدريجياً؟ هل أحتاج إلى استخدام الفئات (classes)؟ أم يوجد نمط (pattern) معين لذلك؟ شكراً مسبقاً على المساعدة! <<>>

الأساس