0Pricing
TypeScript Academy · درس

إنشاء الأنواع ديناميكيًا

اكتشف كيفية إنشاء الأنواع ديناميكيًا أثناء وقت التشغيل لتطبيقات TypeScript المرنة والقابلة للتوسع

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

مقدمة إلى إنشاء الأنواع الديناميكية

مقدمة إلى إنشاء الأنواع الديناميكية

يتيح لك إنشاء الأنواع الديناميكية في TypeScript تعريف أنواع تتكيف بناءً على أنواع أو بيانات أخرى، مما يجعل تعليماتك البرمجية أكثر مرونة وقابلية لإعادة الاستخدام.

يتحقق ذلك من خلال ميزات مثل الأنواع الشرطية، والأنواع المعيّنة، وأنواع الوصول المفهرس.

إنشاء الأنواع ديناميكيًا — رسم توضيحي 1

ما إنشاء الأنواع الديناميكية؟

ما إنشاء الأنواع الديناميكية؟

يتضمن إنشاء الأنواع الديناميكية توليد أنواع جديدة من خلال تحويل الأنواع الموجودة أو معالجتها، وغالبًا باستخدام أدوات الأنواع المتقدمة في TypeScript.

استخدام الأنواع الشرطية

استخدام الأنواع الشرطية

تستخدم الأنواع الشرطية extends لتقييم الأنواع بناءً على شرط:

type IsString<T> = T extends string ? 'Yes' : 'No';

// Test cases
type A = IsString<string>; // 'Yes'
type B = IsString<number>; // 'No'

الأنواع المعيّنة لإنشاء الأنواع الديناميكية

الأنواع المعيّنة لإنشاء الأنواع الديناميكية

تكرّر الأنواع المعيّنة على مفاتيح نوع لإنشاء أنواع جديدة ديناميكيًا:

type Optional<T> = {
  [K in keyof T]?: T[K];
};

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

type OptionalUser = Optional<User>;
// { name?: string; age?: number; }

استخدام أنواع الوصول المفهرس

استخدام أنواع الوصول المفهرس

تستخرج أنواع الوصول المفهرس نوع خاصية من نوع آخر:

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

type UserName = User['name']; // string

دمج الأساليب

دمج الأساليب

يمكنك دمج الأنواع الشرطية والمُعيّنة وأنواع الوصول المفهرس لإنشاء أنواع ديناميكية أكثر تقدمًا:

type ReadonlyIfString<T> = {
  [K in keyof T]: T[K] extends string ? Readonly<T[K]> : T[K];
};

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

type UpdatedUser = ReadonlyIfString<User>;
// { name: Readonly<string>; age: number; }

حالات الاستخدام العملية

حالات الاستخدام العملية

يفيد إنشاء الأنواع الديناميكية في:

  • تكييف واجهات برمجة التطبيقات ديناميكيًا بناءً على إدخال المستخدم.
  • إنشاء أنواع أدوات قابلة لإعادة الاستخدام وآمنة من ناحية الأنواع.
  • تعريف أنواع لتحويلات البيانات.

مهمة تدريبية

مهمة تدريبية

أنشئ نوعًا ديناميكيًا يجعل جميع خصائص النوع Product اختيارية إذا كان نوعها string. اختبره باستخدام بيانات نموذجية.

تهانينا!

تهانينا!

لقد تعلّمت كيفية إنشاء أنواع ديناميكية في TypeScript باستخدام الأنواع الشرطية والمُعيّنة وأنواع الوصول المفهرس. مارس هذه الأساليب للاستفادة من الإمكانات الكاملة لنظام الأنواع في TypeScript!

إنشاء الأنواع ديناميكيًا — رسم توضيحي 10

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

هل درس «إنشاء الأنواع ديناميكيًا» مجاني؟

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

ماذا ستتعلم في «إنشاء الأنواع ديناميكيًا»؟

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

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

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

كم من الوقت يستغرق درس «إنشاء الأنواع ديناميكيًا»؟

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

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

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

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

  1. التحقق الصارم من null
  2. إنشاء الأنواع ديناميكيًا
  3. توسعة الوحدات
← العودة إلى TypeScript Academy