Discriminated Unions
Discriminated Unions
مفهوم
~20 دقيقة
Discriminated Unions
Discriminated union هي union بين أشكال لها خاصية مشتركة تميز الحالة، مثل kind أو type. مثال: { kind: "loading" } | { kind: "success"; data: User } | { kind: "error"; message: string }. عند فحص state.kind, يعرف TypeScript الخصائص المتاحة في كل فرع.
هذا النمط ممتاز لحالة الواجهة، API results، workflows، وأي مجال له حالات محددة. بدلاً من boolean كثيرة مثل loading, error, data, اجعل الحالة واحدة من أشكال واضحة.
مثال عملي
index.ts
Output:
داخل كل case، يعرف TypeScript الشكل الدقيق.
تحدي — Challenge
تعامل مع kind=error