0Pricing
TypeScript Academy · درس

الواجهات مقابل الأسماء المستعارة للأنواع

قارن بين الواجهات والأسماء المستعارة للأنواع: فكلاهما يصف البنية، لكنهما يختلفان في التوسعة والدمج والحالات المتقدمة.

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

مقدمة

الهدف: فهم متى نستخدم interfaces ومتى نستخدم type aliases. فكلاهما يصف البنى، لكنهما يختلفان في الميزات وحالات الاستخدام.

واجهة أساسية

تعلن interfaces عن بُنى الكائنات، ويمكنها توسيع واجهات أخرى، كما تدعم الدمج عبر التصريحات المتعددة.

interface User {
  id: number;
  name: string;
}

const u: User = { id: 1, name: "Ada" };

اسم مستعار أساسي للنوع

يمكن أن تمثل type aliases بُنى الكائنات مثل interfaces، لكنها تدعم أيضًا unions وintersections والأنواع البدائية.

type User = {
  id: number;
  name: string;
};

const v: User = { id: 2, name: "Lin" };

الدمج

تدعم interfaces دمج التصريحات: إذ تُدمج التصريحات المتعددة تلقائيًا. أما type aliases فلا يمكن دمجها بهذه الطريقة.

interface A { x: number; }
interface A { y: number; }

const obj: A = { x: 1, y: 2 };

الاتحادات باستخدام type

تتألق type aliases عند دمج unions أو intersections. ولا تستطيع interfaces إنشاء unions مباشرة.

type Shape = Circle | Square;

type Circle = { kind: "circle"; radius: number };
type Square = { kind: "square"; size: number };

متى نختار

إرشادات:

  • استخدموا interfaces لواجهات برمجة التطبيقات العامة وللتوسعة بأسلوب OOP.
  • استخدموا type aliases مع unions أو intersections أو التركيبات المتقدمة.
  • كلاهما صالح للكائنات؛ لذا يُفضّل الاتساق في قاعدة التعليمات البرمجية.

تحقق من Interfaces وTypes

تحقق سريع: أي العبارات التالية صحيحة بشأن interfaces وtype aliases؟

مراجعة

مراجعة: تصف interfaces وtype aliases البنى على حد سواء. تتيح interfaces الدمج والتوسعة، بينما تنشئ type aliases تراكيب من unions وintersections. اختاروا ما يناسب احتياجاتكم.

الأسئلة الشائعة

هل درس «الواجهات مقابل الأسماء المستعارة للأنواع» مجاني؟

نعم — نص درس «الواجهات مقابل الأسماء المستعارة للأنواع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 3 دروس في المجموع.

ماذا ستتعلم في «الواجهات مقابل الأسماء المستعارة للأنواع»؟

قارن بين الواجهات والأسماء المستعارة للأنواع: فكلاهما يصف البنية، لكنهما يختلفان في التوسعة والدمج والحالات المتقدمة. تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «الواجهات مقابل الأسماء المستعارة للأنواع»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أنواع الكائنات، والاختيارية/للقراءة فقط، وتوقيعات الفهرسة
  2. الواجهات مقابل الأسماء المستعارة للأنواع
  3. الكتابة البنيوية والتحقق من الخصائص الزائدة
← العودة إلى TypeScript Academy