كيفية تعريف كائن فارغ بنوع في TypeScript دون أخطاء ترجمة؟
مرحباً! بدأت مؤخراً في تعلم TypeScript وواجهت مشكلة. أحتاج إلى تعريف متغير بنوع معين، ولكن تهيئته ككائن فارغ. إليك مثال:
```typescript
interface User {
name: string;
age: number;
email: string;
}
const user: User = {}; // خطأ: Type '{}' is not assignable to type 'User'
```
المترجم يشتكي من أن الكائن الفارغ لا يتوافق مع interface User. أفهم أن الكائن الفارغ لا يحتوي على الحقول الإلزامية name و age و email. لكني أحتاج أن يكون المتغير مكتوباً (typed)، وسأقوم بملء البيانات لاحقاً، مثلاً بعد طلب API أو أثناء عمل النموذج.
لقد جربت هذه الخيارات:
- `const user = {} as User;` — يعمل، لكني سمعت أنه غير آمن.
- `const user: Partial = {};` — يعمل أيضاً، لكن