أنواع الاتحاد والتقاطع
ادمج أنواعًا متعددة واعمل معها
أنواع الاتحاد والتقاطع درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
أنواع الاتحاد والتقاطع
أنواع الاتحاد والتقاطع
مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس كيفية استخدام أنواع الاتحاد للسماح بوجود أنواع متعددة محتملة للمتغير، وكيفية استخدام أنواع التقاطع لدمج أنواع متعددة في نوع واحد. وهذه أدوات قوية لإنشاء شيفرة مرنة ومتينة. لنبدأ!

ما أنواع الاتحاد؟
ما أنواع الاتحاد؟
تتيح أنواع الاتحاد للمتغير أن يحتوي على أكثر من نوع واحد. ويمكنكم استخدام الرمز | لتعريف نوع اتحاد.
مثال: متغير يمكن أن يكون نصًا أو رقمًا:
المهمة: صرّحوا عن متغير من نوع اتحاد، وأسندوا إليه قيمًا مختلفة.
let value: string | number;
value = "Hello";
console.log(value); // Output: "Hello"
value = 42;
console.log(value); // Output: 42
استخدام أنواع الاتحاد في الدوال
استخدام أنواع الاتحاد في الدوال
يمكنكم استخدام أنواع الاتحاد في معلمات الدوال للسماح بأنواع متعددة من المدخلات. مثال:
المهمة: اكتبوا دالة تقبل معلمة من نوع اتحاد وتطبعها في وحدة التحكم.
function printValue(value: string | number): void {
console.log(`The value is ${value}`);
}
printValue("Hello"); // Output: The value is Hello
printValue(100); // Output: The value is 100
ما أنواع التقاطع؟
ما أنواع التقاطع؟
تجمع أنواع التقاطع أنواعًا متعددة في نوع واحد. ويمكنكم استخدام الرمز & لتعريف نوع تقاطع.
مثال: دمج نوعين من الكائنات:
المهمة: أنشئوا نوع تقاطع لدمج كائنين واستخدموه.
type Person = { name: string };
type Employee = { employeeId: number };
type Staff = Person & Employee;
let staffMember: Staff = {
name: "Alice",
employeeId: 123,
};
console.log(staffMember);
استخدام حواجز النوع مع أنواع الاتحاد
استخدام حواجز النوع مع أنواع الاتحاد
لا يعرف TypeScript أي نوع تستخدمونه ضمن نوع الاتحاد. ويمكنكم استخدام حواجز النوع لتضييق نطاق النوع. مثال:
المهمة: استخدموا حواجز النوع للتعامل مع الأنواع المختلفة في اتحاد.
function display(value: string | number): void {
if (typeof value === "string") {
console.log(`String value: ${value.toUpperCase()}`);
} else {
console.log(`Number value: ${value * 2}`);
}
}
display("Hello"); // Output: String value: HELLO
display(5); // Output: Number value: 10
أنواع التقاطع عمليًا
أنواع التقاطع عمليًا
تكون أنواع التقاطع مفيدة عند التعامل مع كائنات تتشارك في الخصائص. مثال:
المهمة: أنشئوا نوع تقاطع لأدوار المسؤول والمستخدم.
type Admin = { adminLevel: string };
type User = { username: string };
type AdminUser = Admin & User;
let admin: AdminUser = {
adminLevel: "super",
username: "admin123",
};
console.log(`Admin ${admin.username} has level ${admin.adminLevel}`);
الأخطاء الشائعة في أنواع الاتحاد والتقاطع
الأخطاء الشائعة في أنواع الاتحاد والتقاطع
إليكم بعض الأخطاء الشائعة:
- استخدام نوع اتحاد دون التعامل مع جميع الحالات المحتملة، مثل نسيان استخدام حاجز نوع.
- تعقيد الأنواع باستخدام تقاطعات غير ضرورية.
- إسناد قيم غير متوافقة إلى نوع اتحاد أو تقاطع.
نصيحة: اختبروا شيفرتكم دائمًا للتأكد من أن الأنواع تعمل كما هو متوقع!
متى نستخدم أنواع الاتحاد والتقاطع
متى نستخدم أنواع الاتحاد والتقاطع
استخدموا أنواع الاتحاد عندما:
- يمكن أن يكون للمتغير أحد عدة أنواع محتملة.
- تحتاجون إلى مرونة في معلمات الدوال.
استخدموا أنواع التقاطع عندما:
- تدمجون عدة كائنات أو أنواع في نوع واحد.
- تنشئون أنواعًا أكثر تعقيدًا لحالات استخدام محددة.
type A = { x: number };
type B = { y: number };
type AB = A & B;
let obj: AB = { x: 5, y: 10 };
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام أنواع الاتحاد والتقاطع للتعامل مع السيناريوهات المعقدة في TypeScript. تجعل هذه الأدوات شيفرتكم أكثر مرونة ووضوحًا في التعبير. في الدرس التالي، سنستكشف التعدادات وكيف تساعد في إدارة القيم الثابتة. واصلوا البرمجة!

الأسئلة الشائعة
هل درس «أنواع الاتحاد والتقاطع» مجاني؟
نعم — نص درس «أنواع الاتحاد والتقاطع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
ماذا ستتعلم في «أنواع الاتحاد والتقاطع»؟
ادمج أنواعًا متعددة واعمل معها تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟
لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أنواع الاتحاد والتقاطع»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟
نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المصفوفات والصفوف
- أنواع الاتحاد والتقاطع
- التعدادات
- الأنواع الحرفية