Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مصفوفات الـ Generic

جزء من قسم Introduction To TypeScript في رحلة JavaScript على Coddy — الدرس 60 من 73.

تعمل المصفوفات والأنواع العامة (generics) معًا بشكل رائع في TypeScript. عندما تعلمت عن المصفوفات المحددة النوع سابقًا، استخدمت صيغة T[] لتحديد أن المصفوفة يمكن أن تحتوي فقط على عناصر من نوع معين. تمنحك الأنواع العامة طريقة أخرى للتعبير عن هذا المفهوم نفسه.

يوفر TypeScript صيغة بديلة للمصفوفات المحددة النوع باستخدام تنسيق Array<T>:

// هذان التصريحان متكافئان:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];

يُعد بناء الجملة Array<T> مفيدًا بشكل خاص عند العمل مع الدوال العامة (generic functions) التي تتعامل مع المصفوفات. فهو يجعل الطبيعة العامة لكودك أكثر وضوحًا وقابلية للقراءة، خاصةً عندما تقوم بإنشاء دوال يمكنها العمل مع مصفوفات من أي نوع مع الحفاظ على سلامة النوع (type safety).

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

challenge icon

التحدي

سهل

قم بإنشاء دالة عامة (generic function) تسمى getFirstElement تأخذ مصفوفة من أي نوع وتعيد العنصر الأول أو undefined إذا كانت المصفوفة فارغة.

يجب أن تقوم الدالة بما يلي:

  • استخدام معامل نوع عام T
  • قبول معامل واحد يسمى arr من نوع Array<T>
  • إعادة العنصر الأول من النوع T أو undefined
  • أن تحتوي على توصيف صريح لنوع القيمة المرجعة وهو T | undefined

قم بإنشاء المصفوفات التالية باستخدام صيغة Array<T>:

  • stringArray من نوع Array<string> تحتوي على ["apple", "banana", "cherry"]
  • numberArray من نوع Array<number> تحتوي على [10, 20, 30, 40]
  • booleanArray من نوع Array<boolean> تحتوي على [true, false, true]
  • emptyStringArray من نوع Array<string> وتكون فارغة

اختبر الدالة الخاصة بك وقم بطباعة المخرجات التالية:

  • اطبع نتيجة استدعاء getFirstElement مع stringArray
  • اطبع نتيجة استدعاء getFirstElement مع numberArray
  • اطبع نتيجة استدعاء getFirstElement مع booleanArray
  • اطبع نتيجة استدعاء getFirstElement مع emptyStringArray
  • اطبع نتيجة استدعاء getFirstElement مع Array<string> جديد يحتوي على ["single"]

ورقة مرجعية

توفر TypeScript صيغتين متكافئتين للمصفوفات المحددة النوع:

// هذان التصريحان متكافئان:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];

تعتبر صيغة Array<T> مفيدة بشكل خاص عند العمل مع الدوال العامة (generic functions) التي تتعامل مع المصفوفات، مما يجعل الطبيعة العامة لكودك أكثر وضوحاً وقابلية للقراءة مع الحفاظ على سلامة الأنواع (type safety).

جرّب بنفسك

// TODO: اكتب كودك هنا
// أنشئ الدالة العامة getFirstElement

// أنشئ المصفوفات المطلوبة باستخدام صيغة Array<T>

// اختبر الدالة واطبع النتائج
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Introduction To TypeScript