أنواع الاتحاد: A أو B
استخدموا | للسماح باحتمالات متعددة للنوع
أنواع الاتحاد: A أو B درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
مرحبًا
الصياغة الأساسية للاتحاد
let id: string | number;
id = 'abc123'; // OK
id = 42; // OK
// id = true; // Errorالاتحاد في معاملات الدوال
function format(val: string | number): string {
return typeof val === 'string' ? val.toUpperCase() : val.toFixed(2);
}يلزم التضييق لأعضاء الاتحاد
function process(val: string | number) {
// val.toFixed(2); // Error — not on string
if (typeof val === 'number') {
val.toFixed(2); // OK
}
}الاتحاد مع الأنواع الحرفية
type Direction = 'north' | 'south' | 'east' | 'west';
type StatusCode = 200 | 201 | 400 | 404 | 500;الاتحاد للأنواع القابلة للقيمة الفارغة
function getUser(id: number): User | null {
return db.find(u => u.id === id) ?? null;
}اتحاد أنواع الكائنات
type Cat = { kind: 'cat'; meow(): void };
type Dog = { kind: 'dog'; bark(): void };
type Pet = Cat | Dog;
function speak(pet: Pet) {
if (pet.kind === 'cat') pet.meow();
else pet.bark();
}ثلاثة أنواع أو أكثر في اتحاد
type Input = string | number | boolean | null;الاتحاد في أنواع القيمة المرجعة
function divide(a: number, b: number): number | null {
if (b === 0) return null;
return a / b;
}الاتحادات المميّزة
type Square = { kind: 'square'; side: number };
type Circle = { kind: 'circle'; radius: number };
type Shape = Square | Circle;الخصائص المشتركة من دون تضييق
type A = { name: string; x: number };
type B = { name: string; y: number };
type AB = A | B;
function getName(obj: AB): string {
return obj.name; // OK — name is on both
}تحقق سريع
مراجعة
تعلم TypeScript مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 101
- الدروس
- 352
الأسئلة الشائعة
هل درس «أنواع الاتحاد: A أو B» مجاني؟
نعم — نص درس «أنواع الاتحاد: A أو B» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
ماذا ستتعلم في «أنواع الاتحاد: A أو B»؟
استخدموا | للسماح باحتمالات متعددة للنوع تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟
لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «أنواع الاتحاد: A أو B»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟
نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أنواع الاتحاد: A أو B
- أنواع التقاطع: A وB
- اتحادات الأنواع المميّزة لمطابقة الأنماط بأمان
- أنماط عملية باستخدام الاتحاد والتقاطع