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

ما الأنواع الحرفية؟
ما الأنواع الحرفية؟
تتيح الأنواع الحرفية في TypeScript للمتغير الاحتفاظ بقيمة محددة، بدلًا من نوع عام مثل string أو number. فعلى سبيل المثال، يمكنكم تقييد متغير بحيث لا يحتوي إلا على القيمة "yes" أو "no".
مثال:
المهمة: صرّحوا عن متغير من نوع حرفي، وأسندوا إليه قيمًا صالحة وغير صالحة.
let answer: "yes" | "no";
answer = "yes";
// Valid
// answer = "maybe";
// Error: Type '"maybe"' is not assignable to type '"yes" | "no"'.
الأنواع الحرفية مع النصوص
الأنواع الحرفية مع النصوص
تقيّد الأنواع الحرفية النصية المتغير بمجموعة محددة من القيم النصية. مثال:
المهمة: أنشئوا نوعًا للاتجاهات وأسندوا قيمًا إلى متغير.
type Direction = "up" | "down" | "left" | "right";
let move: Direction;
move = "up"; // Valid
// move = "forward";
// Error: Type '"forward"' is not assignable to type '"up" | "down" | "left" | "right"'.
الأنواع الحرفية مع الأرقام
الأنواع الحرفية مع الأرقام
يمكنكم أيضًا استخدام الأنواع الحرفية مع الأرقام لتقييد المتغير بقيم رقمية محددة. مثال:
المهمة: عرّفوا نوعًا حرفيًا رقميًا لرميات النرد واختبروه.
type DiceRoll = 1 | 2 | 3 | 4 | 5 | 6;
let roll: DiceRoll;
roll = 4; // Valid
// roll = 7;
// Error: Type '7' is not assignable to type '1 | 2 | 3 | 4 | 5 | 6'.
الأنواع الحرفية في الدوال
الأنواع الحرفية في الدوال
يمكنكم استخدام الأنواع الحرفية في معلمات الدوال للسماح بقيم محددة فقط. مثال:
المهمة: اكتبوا دالة تستخدم الأنواع الحرفية في إحدى معلماتها.
function setStatus(status: "active" | "inactive"): void {
console.log(`The status is now ${status}`);
}
setStatus("active");
// Output: The status is now active
// setStatus("pending");
// Error: Type '"pending"' is not assignable to type '"active" | "inactive"'.
الأنواع الحرفية والأسماء المستعارة للأنواع
الأنواع الحرفية والأسماء المستعارة للأنواع
لإعادة استخدام الأنواع الحرفية، يمكنكم تعريفها على شكل أسماء مستعارة للأنواع. مثال:
المهمة: أنشئوا اسمًا مستعارًا لنوع ألوان إشارة المرور واستخدموه في متغير.
type TrafficLight = "red" | "yellow" | "green";
let light: TrafficLight = "red";
console.log(light);
// Output: red
استخدام الأنواع الحرفية مع الكائنات
استخدام الأنواع الحرفية مع الكائنات
يمكنكم استخدام الأنواع الحرفية داخل الكائنات لتقييد قيم خصائص محددة. مثال:
المهمة: أنشئوا نوع كائن يحتوي على خاصية تستخدم الأنواع الحرفية.
type Button = {
label: string;
size: "small" | "medium" | "large";
};
let submitButton: Button = {
label: "Submit",
size: "medium",
};
console.log(submitButton);
الأخطاء الشائعة
الأخطاء الشائعة
إليكم بعض الأخطاء الشائعة عند استخدام الأنواع الحرفية:
- نسيان تحديث جميع القيم المسموح بها عند تعديل نوع حرفي.
- إسناد قيم غير مضمنة في النوع الحرفي، وسيتولى TypeScript اكتشاف ذلك.
- استخدام الأنواع الحرفية مع البيانات شديدة الديناميكية، حيث تكون المرونة أهم.
نصيحة: استخدموا الأنواع الحرفية في السيناريوهات المنضبطة والقابلة للتوقع!
type Switch = "on" | "off";
let state: Switch;
state = "on";
state = "off";
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام الأنواع الحرفية في TypeScript لتعريف قيم دقيقة ومقيّدة. وتكون الأنواع الحرفية مفيدة خصوصًا لإنشاء شيفرة قابلة للتوقع وآمنة من ناحية الأنواع. في الدرس التالي، سنستكشف دعم TypeScript للعمل مع الدوال. واصلوا البرمجة!

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