EduFlow
تطوير الويب

أنماط TypeScript المتقدّمة

صمّم types تلتقط أخطاءً حقيقية، وتبقى مقروءة بما يكفي ليثق بها فريقك.

  • 4.9 (861 تقييمًا)
  • 6,850 متعلّم
  • متقدّم
  • 6 س 45 د إجمالًا
  • حُدّثت في يوليو 2026

أعدّها دانيال أوكافور

ما ستتعلّمه

  • نمذجة حالات المجال بالـ discriminated unions والـ literal types
  • تصميم APIs من نوع generic تستنتج الأنواع الصحيحة دون تعليقات نوعية
  • كتابة mapped وconditional وtemplate literal types باعتدال
  • وسم المعرّفات والمبالغ، وجعل جمل switch شاملة
  • تحليل البيانات غير الموثوقة إلى types موثوقة عند الحدود
  • اعتماد tsconfig صارم وملفات تصريحات وترحيل تدريجي

لمن هذه الدورة

أنت تكتب TypeScript أصلًا: interfaces وunions وبعض الـ generics. هذه الدورة عن الخطوة التالية: أن تستخدم نظام الأنواع أداةً للتصميم. ستنمذج حالات المجال بحيث يستحيل كتابة الحالات المستحيلة، وتوجّه الـ inference (استنتاج النوع) في الـ generics بدل أن تصارعه، وتكتب كودًا على مستوى الأنواع (mapped وconditional وtemplate literal types) يستطيع زملاؤك قراءته.

كل درس يبني طبقة الأنواع في عميل الـ API الخاص بالدفع في Cartwheel: مبالغ مالية لا تخلط العملات، وحالات طلبات يتحقّق الـ compiler من تغطيتها كلها، وعميل fetch تُستنتج أنواعه من خريطة المسارات، ومحلّلات تحوّل JSON غير موثوق إلى types موثوقة. وتختم بما يصل إلى الإنتاج: إعدادات tsconfig الصارمة، وملفات التصريحات، والإدارة الصريحة للموارد، والـ decorators، وخطة لترحيل قاعدة كود JavaScript.

لمن هذه الدورة
مطوّرون يستخدمون TypeScript يوميًا ويريدون types تمنع الأخطاء، لا types تكتفي بوصف الكود.
قبل أن تبدأ
إلمام جيد بـ JavaScript الحديثة وبـ TypeScript اليومية: التعليقات النوعية، والـ interfaces، والـ unions، والـ generics الأساسية.

تدريب عملي

  • تحديات على مستوى الأنواع (types) يفحصها مترجم TypeScript الحقيقي.
  • تمارين موجَّهة: اكتشف الخطأ، وأكمل الأمر، ورتّب الخطوات.

محتوى الدورة

5 وحدات · 22 درسًا · 6 س 45 د إجمالًا

  • أنواع تستحق مكانها12 دقيقة
  • الـ Structural Typing وقابلية الإسناد17 دقيقة
  • الـ Narrowing وتحليل تدفّق التحكّم20 دقيقة
  • الـ Discriminated Unions لحالات المجال19 دقيقة
  • الـ Literal Types و as const و satisfies18 دقيقة
  • اختبار الوحدة5 أسئلة

  • الـ Generics بوصفها علاقات18 دقيقة
  • كيف يعمل الـ Inference، ومعاملات النوع const20 دقيقة
  • التحكّم في الـ Inference: NoInfer والقيم الافتراضية والـ Overloads17 دقيقة
  • تصميم عميل API بأنواع دقيقة22 دقيقة
  • اختبار الوحدة5 أسئلة

  • keyof و typeof وأنواع الوصول بالفهرس16 دقيقة
  • الـ Mapped Types وإعادة تسمية المفاتيح19 دقيقة
  • الـ Conditional Types والتوزيع و infer22 دقيقة
  • الـ Template Literal Types17 دقيقة
  • الأنواع التعاودية ومتى تتوقّف20 دقيقة
  • اختبار الوحدة5 أسئلة

  • الـ Branded Types والفحوص الشاملة19 دقيقة
  • أنواع Result للإخفاقات المتوقَّعة18 دقيقة
  • تحليل البيانات غير الموثوقة عند الحدود20 دقيقة
  • باعثات أحداث وبنّاؤون آمنون من حيث النوع21 دقيقة
  • اختبار الوحدة5 أسئلة

  • صرامة tsconfig التي تؤتي ثمارها19 دقيقة
  • تصريحات using والـ Decorators القياسية17 دقيقة
  • ملفات التصريحات وتوسيع الوحدات16 دقيقة
  • ترحيل JavaScript إلى TypeScript، والحفاظ على السرعة18 دقيقة
  • اختبار الوحدة5 أسئلة
الاختبار النهائي · 12 سؤالًا · درجة النجاح 70%

مدرّبك

دانيال أوكافور

مهندس برمجيات رئيسي (Staff) · Brightline

  • تقييم المدرّب 4.7
  • 12,450 متعلّم
  • دورتان

كتب دانيال تطبيقات iOS بلغة Objective-C ثم Swift لست سنوات قبل أن ينضم إلى فريق المنصّة في Brightline، حيث يتولّى اليوم مكتبات TypeScript المشتركة التي يبني عليها 40 مهندسًا. علّمته الوظيفتان الدرس نفسه: نظام الأنواع الجيد يلتقط الخطأ قبل أن يصل إلى العميل.

ماذا يقول المتعلّمون

4.9

861 تقييم

  • Jonas Becker

    قبل 7 أشهر

    غيّر درس الـ discriminated unions طريقتي في تمثيل حالات الطلب في عملي. في الـ sprint التالي تخلّصنا من فئة كاملة من أخطاء الدفع «المستحيلة».

  • Mariam Al-Otaibi

    قبل 4 أشهر

    فهمت أخيرًا الـ conditional types والكلمة infer بكتابتها لا بالقراءة عنها. تمارين اختبار الأنواع باستخدام Expect<Equal<…>> ممتعة إلى حدّ الإدمان.

  • Arjun Mehta

    الشهر الماضي

    مكثّفة بأفضل معنى للكلمة. درس الأنواع التكرارية (recursive types) كان سريعًا عليّ فقرأته مرتين، لكن الـ branded types و NoInfer وحدهما يستحقان ثمن الدورة.