Avatar ·

كيفية تعريف نوع nullable (يقبل null) في TypeScript؟

مرحبًا! بدأت للتو في تعلم TypeScript وواجهت مشكلة. أكتب تطبيقًا صغيرًا لإدارة المهام. لدي واجهة (interface) للمهمة، حيث يجب أن يكون الحقل `completedAt` من نوع `Date` إذا كانت المهمة مكتملة، أو `null` إذا لم تكن مكتملة بعد. أيضًا هناك حقل `assignee` يمكن أن يكون سلسلة نصية باسم المنفذ أو غائبًا (`null`/`undefined`). إليك كيف حاولت وصف ذلك: ```typescript interface Task { id: number; title: string; completedAt: Date; assignee: string; } ``` لكن TypeScript يشتكي عندما أحاول تعيين `null` للحقل `completedAt`: ```typescript const task: Task = { id: 1, title: "شراء البقالة", completedAt: null, // خطأ: Type 'null' is not assignable to type 'Date'. assignee: null // خطأ: Type 'null' is not assignable to type 'string'. }; ``` حاولت استخدام `any`، لكن هذا يقتل كل فائدة TypeScript. رأيت في الوثائق شيئًا عن `null` و `undefined`، لكنني لم أفهم كيفية تطبيقه.