0Pricing
TypeScript Academy · درس

أنواع الاتحاد والقيم الحرفية (مقدمة أساسية لتضييق النوع)

ادمج الأنواع باستخدام الاتحادات، واستخدم الأنواع الحرفية للقيم المحددة بدقة، وطبّق تضييق النوع الأساسي.

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

مقدمة

الهدف: تعلّم كيفية دمج أنواع متعددة باستخدام union وتقييد القيم باستخدام الأنواع الحرفية. تساعد هذه الأدوات في إنشاء واجهات برمجة أكثر أمانًا.

أساسيات الاتحاد

تستخدم أنواع الاتحاد الرمز | للسماح بأحد عدة أنواع. في هذا المثال: string أو number.

let value: string | number;
value = "hello";

value = 42;

// value = true; 
// Error, not allowed

الأنواع الحرفية

تقيّد الأنواع الحرفية القيم بخيارات محددة تمامًا. وهي شائعة في الإعدادات والتعدادات.

let direction: "left" | "right";
direction = "left";

// direction = "up";
 // Error

أساسيات التضييق

يتحقق التضييق من نوع القيمة وقت التشغيل (مثل typeof) للوصول إلى أعضائها بأمان.

function printId(id: string | number) {
  if (typeof id === "string") {
    console.log(id.toUpperCase());
  } else {
    console.log(id.toFixed(2));
  }
}

printId("abc");
printId(123.456);

الاتحادات المميّزة

تجمع الاتحادات المميّزة بين العلامات الحرفية والكائنات. ويجعل التضييق باستخدام kind TypeScript أكثر ذكاءً.

type Shape =
  | { kind: "circle"; radius: number }
  | { kind: "square"; size: number };

function area(shape: Shape): number {
  if (shape.kind === "circle") {
    return Math.PI * shape.radius ** 2;
  } else {
    return shape.size * shape.size;
  }
}

console.log(area({ kind: "circle", radius: 2 }));
console.log(area({ kind: "square", size: 3 }));

لماذا الاتحادات والأنواع الحرفية؟

لماذا نستخدم الاتحادات والأنواع الحرفية؟ تجعل الحالات غير الصالحة مستحيلة، وتوجّه الإكمال التلقائي، وتتيح للمترجم اكتشاف الأخطاء في وقت أبكر.

تحقق الاتحاد

تحقق سريع: ما نوع الاتحاد؟

مراجعة

مراجعة: استخدم | للاتحادات، والأنواع الحرفية للقيم المحددة تمامًا، والتضييق للتفرع بأمان. تجعل هذه الأدوات TS واضحة وآمنة.

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

هل درس «أنواع الاتحاد والقيم الحرفية (مقدمة أساسية لتضييق النوع)» مجاني؟

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

ماذا ستتعلم في «أنواع الاتحاد والقيم الحرفية (مقدمة أساسية لتضييق النوع)»؟

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

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

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

كم من الوقت يستغرق درس «أنواع الاتحاد والقيم الحرفية (مقدمة أساسية لتضييق النوع)»؟

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

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

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

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

  1. الأنواع البدائية والتعليقات النوعية
  2. استدلال النوع وany مقابل unknown
  3. أنواع الاتحاد والقيم الحرفية (مقدمة أساسية لتضييق النوع)
← العودة إلى TypeScript Academy