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

ما الأنواع العامة؟
ما الأنواع العامة؟
تتيح لكم الأنواع العامة كتابة تعليمات برمجية قابلة لإعادة الاستخدام تعمل مع أي نوع. وهي تعمل كعناصر نائبة للأنواع التي يمكنكم تحديدها عند استخدامها.
مثال: دالة عامة:
المطلوب: اكتب دالة عامة تتلقى وسيطًا وتعيده من دون تغيير.
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
// Output: Hello
console.log(identity<number>(42));
// Output: 42
لماذا نستخدم الأنواع العامة؟
لماذا نستخدم الأنواع العامة؟
تساعدكم الأنواع العامة على:
- كتابة تعليمات برمجية قابلة لإعادة الاستخدام: يمكن للدوال والأصناف العمل مع أنواع مختلفة.
- ضمان أمان الأنواع: يمكنكم فرض أنواع محددة من دون التضحية بالمرونة.
- تقليل التكرار: تجنّبوا كتابة إصدارات منفصلة من الدالة أو الصنف نفسه لأنواع مختلفة.
نصيحة: استخدموا الأنواع العامة لكتابة تعليمات برمجية أكثر مرونة وأسهل في الصيانة.
الدوال العامة
الدوال العامة
يمكنكم استخدام الأنواع العامة لإنشاء دوال مرنة. مثال:
المطلوب: اكتب دالة عامة تدمج كائنين وتعيد النتيجة.
function merge<T, U>(obj1: T, obj2: U): T & U {
return { ...obj1, ...obj2 };
}
let merged = merge({ name: "Alice" }, { age: 25 });
console.log(merged);
// Output: { name: "Alice", age: 25 }
الأصناف العامة
الأصناف العامة
يمكن استخدام الأنواع العامة في الأصناف لجعلها قابلة لإعادة الاستخدام مع أنواع مختلفة. مثال:
class Box<T> {
private contents: T;
constructor(contents: T) {
this.contents = contents;
}
getContents(): T {
return this.contents;
}
}
let stringBox = new Box<string>("Hello");
console.log(stringBox.getContents());
// Output: Hello
let numberBox = new Box<number>(42);
console.log(numberBox.getContents());
// Output: 42
الواجهات العامة
الواجهات العامة
يمكن للواجهات أيضًا استخدام الأنواع العامة لفرض بنية لأنواع مختلفة. مثال:
المطلوب: عرّف واجهة عامة وأنشئ كائنًا يطبّقها.
interface Pair<T, U> {
first: T;
second: U;
}
let coordinates: Pair<number, number> = { first: 10, second: 20 };
console.log(coordinates);
// Output: { first: 10, second: 20 }
قيود الأنواع العامة
قيود الأنواع العامة
يمكنكم إضافة قيود إلى الأنواع العامة لضمان عملها مع أنواع محددة فقط. مثال:
function printLength<T extends { length: number }>(item: T): void {
console.log(`Length: ${item.length}`);
}
printLength("Hello");
// Output: Length: 5
printLength([1, 2, 3]);
// Output: Length: 3
// printLength(42);
// Error: Argument of type 'number' is not assignable to parameter of type '{ length: number }'.
القيم الافتراضية للأنواع العامة
القيم الافتراضية للأنواع العامة
يمكنكم تحديد أنواع افتراضية للأنواع العامة إذا لم يُوفَّر نوع. مثال:
المطلوب: أنشئ دالة عامة بنوع افتراضي، واختبرها باستخدام أنواع مختلفة.
function wrap<T = string>(value: T): T[] {
return [value];
}
console.log(wrap("Hello")); // Output: ["Hello"]
console.log(wrap(42)); // Output: [42]
أحسنتم!
أحسنتم!
تهانينا! لقد تعلّمتم كيفية استخدام الأنواع العامة في TypeScript لإنشاء دوال وأصناف وواجهات قابلة لإعادة الاستخدام وآمنة من ناحية الأنواع. تُعدّ الأنواع العامة أداة قوية لكتابة تعليمات برمجية مرنة وقابلة للتوسّع. في الدرس التالي، سنستكشف الأنواع المتقدمة، مثل الأنواع المُعيَّنة والأنواع الشرطية. واصلوا البرمجة!

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