Learn TypeScript
A free, interactive TypeScript course built on top of JavaScript. You write TS on every lesson - type annotations, interfaces, generics, unions, narrowing - with AI hints when you get stuck and a certificate when you finish. Part of the wider JavaScript journey, so the JS context that makes TypeScript click is right there.
253,075+ من الـ codders مسجلون
- مناسب للمبتدئين
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
هذا القسم جزء من رحلة JavaScript. المنهج الكامل يحتوي على أقسام أكثر - اضغط على أي معاينة أدناه لعرضها في صفحة الرحلة.
- قسم 1Fundamentals77 درسًا
- قسم 2Logic & Flow65 درسًا
قسم 1
Introduction To TypeScript
ابدأ القسمابدأتوسيعطيIntroduction to typescript after learned about javascriptالبداية مع TS
5 درسًا232- 01ما هي TypeScript؟اختبار
- 02لماذا نستخدم TypeScript؟اختبار
- 03أول كود TypeScript لكتحدياختبار
- 04عملية الـ Compilation والأخطاءاختبار
- 05ملخص: مقدمة في TSتحدي
الأنواع الأساسية
7 درسًا748- 01الأنواع الأساسية: str, num, booleanتحدياختبار
- 02النوع 'any': مخرج الهروبتحدياختبار
- 03النوع 'unknown'تحدياختبار
- 04التعامل مع 'null' و 'undef'تحدياختبار
- 05استنتاج الأنواع في التطبيق العمليتحدياختبار
- 06توضيحات الأنواع الصريحةتحدياختبار
- 07مراجعة: تدريب على الأنواع الأساسيةتحدي
هياكل البيانات: المصفوفات و Tuple
9 درسًا862- 01المصفوفات محددة النوع (Typed Arrays)تحدياختبار
- 02معدل 'readonly' للمصفوفاتتحدياختبار
- 03ما هو الـ Tuple؟اختبار
- 04تعريف والوصول إلى الـ Tuplesتحدياختبار
- 05تفكيك الـ Tuples (Destructuring)تحدياختبار
- 06الـ Tuples للقراءة فقط (Readonly)تحدياختبار
- 07المصفوفات محددة النوع متعددة الأبعادتحدياختبار
- 08استخدام Spread Operator مع المصفوفاتتحدياختبار
- 09ملخص: المصفوفات و Tuplesتحدي
التعامل مع الدوال
8 درسًا855- 01تحديد أنواع المعاملات وقيم الإرجاعتحدياختبار
- 02تحديد أنواع Arrow Functionsتحدياختبار
- 03نوع الإرجاع 'void'تحدياختبار
- 04المعاملات الاختيارية باستخدام '?'تحدياختبار
- 05القيم الافتراضية للمعاملاتتحدياختبار
- 06تحديد أنواع Rest Parametersتحدياختبار
- 07تعريف أنواع الدوالتحدياختبار
- 08ملخص: بناء دوال محددة الأنواعتحدي
الأنواع: الأسماء المستعارة، الاتحادات والتقاطعات
7 درسًا751- 01الأسماء المستعارة للأنواع الأساسية (Primitives)تحدياختبار
- 02أنواع الاتحاد ('|')تحدياختبار
- 03التعامل مع أنواع الاتحادتحدياختبار
- 04الأنواع الحرفية (Literal Types)تحدياختبار
- 05أنواع التقاطع ('&')تحدياختبار
- 06دمج الأسماء المستعارة للأنواعتحدياختبار
- 07ملخص: تركيبات الأنواع المتقدمةتحدي
تحديد أنواع الكائنات والواجهات
8 درسًا757- 01توصيف أنواع الكائنات المضمنة (Inline)تحدياختبار
- 02الأسماء المستعارة للأنواع (Type Aliases) للكائناتتحدياختبار
- 03مقدمة عن الواجهات (Interfaces)تحدياختبار
- 04الواجهات (Interfaces) مقابل الأسماء المستعارة للأنواع (Type Aliases)اختبار
- 05الخصائص الاختيارية وخصائص القراءة فقط (Readonly)تحدياختبار
- 06توسيع الواجهات والأنواعتحدياختبار
- 07إضافة الدوال (Methods) إلى الواجهاتتحدياختبار
- 08ملخص: تحديد هياكل الكائناتتحدي
مشروع: قائمة مهام بسيطة
مشروع6 درسًا18- 01مشروع: تعريف الـ Struct للمهمةتحدياختبار
- 02دالة لإضافة مهمةمشروع
- 03دالة لتغيير حالة المهمةمشروع
- 04دالة: عرض المهام حسب الحالةمشروع
- 05دالة: طباعة ملخص المهاممشروع
- 06تجميع كل الأجزاء معاًمشروع
Enums
6 درسًا638- 01ما هو الـ Numeric Enum؟تحدياختبار
- 02استخدام الـ Numeric Enumsتحدياختبار
- 03ما هو الـ String Enum؟تحدياختبار
- 04استخدام الـ String Enumsتحدياختبار
- 05الـ Heterogeneous Enumsتحدياختبار
- 06ملخص: استخدام الـ Enumsتحدي
Generics: نظرة أولى
6 درسًا537- 01المشكلة التي تحلها الـ Genericsاختبار
- 02إنشاء دالة Generic Identityتحدياختبار
- 03استخدام دالة Genericتحدياختبار
- 04مصفوفات الـ Genericتحدياختبار
- 05واجهات الـ Genericتحدياختبار
- 06ملخص: تدريب على الدوال العامةتحدي
مشروع: إدارة المخزون
مشروع5 درسًا18- 01مشروع: عنصر مخزون عامتحدياختبار
- 02دالة: إضافة عناصر إلى المخزونمشروع
- 03دالة للبحث عن عنصر بواسطة IDمشروع
- 04إنشاء نوع مخزون محددمشروع
- 05دالة للحصول على تفاصيل العنصرمشروع
مواضيع متقدمة
6 درسًا642- 01تأكيدات النوعتحدياختبار
- 02حراس النوع: in و instanceofتحدياختبار
- 03النوع 'never'تحدياختبار
- 04الأنواع القابلة للقيمة Null ('strictNull')تحدياختبار
- 05تواقيع الفهرسة للكائناتتحدياختبار
- 06ملخص: ضبط الأنواع بدقةتحدي
- قسم 4Object Oriented Programming56 درسًا
Why learn TypeScript with Coddy
- Write TypeScript in your browser. No
tscinstall, no editor setup, notsconfig.jsonto wrangle. The editor and output sit side-by-side so you see what each type does instantly. - Modern TypeScript: type annotations, interfaces, generics, union and intersection types, narrowing, utility types, and how TS layers on top of plain JavaScript without changing what runs at runtime.
- AI hints help you read TypeScript errors - the famously long ones - without spoiling the fix, so you build the mental model that makes future TS code easier to write.
- Free TypeScript certificate when you finish the section. A credible signal that you can read and write idiomatic TS, not just JavaScript with sprinkled types.
Frequently asked questions about learning TypeScript
What is TypeScript?
TypeScript is a superset of JavaScript that adds optional static typing. Valid JavaScript is valid TypeScript, but TS lets you annotate variables, function parameters, and return values with types - the compiler then catches mistakes before your code runs. At runtime, TypeScript compiles down to plain JavaScript.
Is TypeScript hard to learn?
If you're comfortable with JavaScript, the basics of TypeScript are quick to pick up - adding
: string or : number to a few variables and you're already writing TS. The trickier parts (generics, conditional types, mapped types, narrowing) take longer, and this course introduces them in small steps with hands-on examples.Do I need to know JavaScript before TypeScript?
Yes. TypeScript is JavaScript with types on top, so the language you're really learning is JS. This TypeScript section is part of the JavaScript journey for that reason - you can take the JS sections first, or jump straight to TS if you're already comfortable with modern JavaScript.
What's the difference between TypeScript and JavaScript?
JavaScript is dynamically typed - a variable can hold a string today and a number tomorrow, and you only find out at runtime. TypeScript adds a static type layer that runs at build time, catching type mismatches before the code ships. The compiled output is still plain JavaScript, so it runs anywhere JS does.
Can I learn TypeScript online for free?
Yes. The interactive TypeScript section is free - full lessons, coding exercises, quizzes, and a certificate. The editor runs in your browser with the TS compiler built in, so you don't need to install
tsc, Node, or any tooling to start writing TypeScript.Do I get a certificate after the TypeScript course?
Yes. Finishing the TypeScript section gives you a free certificate of completion you can share on LinkedIn or include on your resume. A verifiable signal that you've worked through structured, hands-on TypeScript material, not just watched tutorials.