AzLearn

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

داخل كل case، يعرف TypeScript الشكل الدقيق.

تحدي — Challenge