A & B أنواع التقاطع

آخر تحديث: 2026-10-22

A & B أنواع التقاطع

يدمج النوع التقاطعي A & B خصائص أنواع متعددة في واحد: فالقيمة يجب أن تحقق A و B معًا. وهو مناسب لدمج واجهات صغيرة بأسلوب "المزج".

المجموعةتركيب الأنواع
النوعنوع
الوضع الصارمغير مطلوب

ℹ️ معلومة يحوّل المحرر لغة TypeScript إلى JavaScript ثم يشغّلها (بدون فحص أنواع)؛ راجع ناتج كل مثال لنتيجة فحص الأنواع.

📝 الصيغة

type A = { id: number };
type B = { name: string };
type AB = A & B; // يملك id و name معًا

⚙️ المعاملات

A & Bيربط & أي عدد من الأنواع؛ وكلما زاد الأعضاء اشتدت القيود (وتضاقت مدى النوع)

القيمة المُعادة:لا قيمة مُعادة — أنواع التقاطع مفهوم خاص بطبقة الأنواع فقط وتختفي بعد الترجمة.

▶ مثال

عدّل الكود أدناه واضغط «جرّب» لرؤية نتيجة التحويل:

الناتج:

7 login 2026-01-01T09:00:00Z

(مخرجات التشغيل بعد التحويل؛ إغفال حقل timestamp من audit يؤدي إلى خطأ ترجمة — فالتقاطع يشترط اكتمال كل الأعضاء)

💡 نقاط مهمة

ℹ️ معلومة التقاطع "و" والاتحاد "أو": فالنوع A & B يطلب تحقق الطرفين معًا (أضيق)، بينما يكفي في A | B تحقق أحدهما (أوسع).
⚠️ تنبيه تقاطع الأنواع الأصلية يعطي never (فلا أعضاء للتعبير string & number)؛ وعندما تختلف أنواع خصائص الاسم نفسه يصبح نوع الخاصية تقاطع الطرفين، وهو غالبًا never أيضًا.
💡 تلميح التركيب مع أنواع الأدوات من نقاط قوة التقاطع: فصيغة User & Partial<User> من "الأصل + تجاوز جزئي" موجزة ومباشرة.
المزيد من الحالات قادم قريبًا.

📚 دروس ذات صلة

❓ أسئلة شائعة

س ما الفرق بين أنواع التقاطع ووراثة interface بـ extends؟
ج النتيجة متشابهة والآلية مختلفة: ترث extends أشكال interface/الأنواع وتخطئ عند التعارض؛ بينما يركّب & أي تعبيرات نوعية (بما فيها نتائج أدوات الأنواع) ويحل التعارض صامتًا إلى never. استخدم extends لرسائل خطأ أوضح.
س ما هو string & number؟
ج هو never: فلا قيمة تكون سلسلة نصية وعددًا معًا. تقاطع الأنواع الأصلية يكون never في معظم الأحوال، ويمكن الاستفادة من ذلك في "التعبير عن الاستحالة" في عمليات الأنواع.
س ماذا يحدث إذا اختلف نوع خاصية الاسم نفسه في واجهتين متقاطعتين؟
ج يصبح نوع الخاصية تقاطع نوعي الطرفين. فالتعبير string & number هو never مباشرةً، فتفشل كل عمليات الإسناد اللاحقة؛ فإذا أردت دمج واجهات بالتقاطع فتحقق أولًا من تطابق أنواع الحقول.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%