كيفية تعريف نوع 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`، لكنني لم أفهم كيفية تطبيقه.