شائعرحلة
تعلّم JavaScript
ابدأ بتعلّم JavaScript من الصفر من خلال دورة أونلاين مجانية وتفاعلية. أتقن المتغيرات والشروط والحلقات والدوال وهياكل البيانات وتنظيم المشاريع عبر تمارين عملية ومشاريع حقيقية وتلميحات بالذكاء الاصطناعي وشهادة عند الإكمال.
238,854+ من الـ codders مسجلون
تتضمن هذه الرحلة
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
4 أقسام271 درسًا219 تحديات1,458 أسئلة الاختبار01قسم 1
Fundamentals
Build a strong foundation with essential concepts and basic skillsابدأ التعلممقدمة
4 درسًا223- 01اللغةتحدي
- 02أهلاً بالعالم!تحدياختبارصوت
- 03التعليقاتاختبارصوت
- 04بنية الكوداختبارصوت
المتغيرات
7 درسًا1247- 01الأرقامتحديإتقاناختبارصوت
- 02String (النصوص)تحديإتقاناختبارصوت
- 03Boolean (القيم المنطقية)تحديإتقاناختبارصوت
- 04قواعد التسميةتحديإتقاناختبارصوت
- 05المتغيرات الفارغةتحدياختبارصوت
- 06مراجعة - تهيئة المتغيراتتحدي
- 07الثوابتتحديإتقاناختبارصوت
المعاملات - الجزء الأول
6 درسًا1037- 01المعاملات الحسابيةتحديإتقاناختبارصوت
- 02معامل باقي القسمة (Modulo)تحديإتقاناختبارصوت
- 03اختصارات العمليات الحسابيةتحديإتقاناختبارصوت
- 04معاملات المقارنةتحديإتقاناختبارصوت
- 05المساواة الصارمة مقابل العاديةتحدياختبارصوت
- 06مراجعة - العمليات الحسابية البسيطةتحدي
المعاملات - الجزء الثاني
5 درسًا831- 01المعاملات المنطقية - الجزء الأولتحديإتقاناختبارصوت
- 02المعاملات المنطقية - الجزء الثانيتحديإتقاناختبارصوت
- 03مراجعة - المنطق البسيطتحدي
- 04المعاملات المنطقية - الجزء الثالثتحديإتقاناختبارصوت
- 05تحويل الأنواع (Type Coercion)تحدياختبارصوت
اتخاذ القرار
5 درسًا729- 01جملة Ifتحديإتقاناختبارصوت
- 02جملة If - Elseتحديإتقاناختبارصوت
- 03مراجعة - آلة حاسبة بسيطةتحدي
- 04جملة If - Else المتداخلةتحدياختبارصوت
- 05جملة Switchتحدياختبارصوت
أساسيات الإدخال والإخراج (IO)
6 درسًا931- 01الإخراجتحديإتقاناختبارصوت
- 02الإخراج باستخدام المتغيراتتحديإتقاناختبارصوت
- 03تحويل أنواع البيانات - الجزء الأولتحديإتقاناختبارصوت
- 04تحويل أنواع البيانات - الجزء الثانيتحدياختبارصوت
- 05مراجعة - حتى 120تحدي
- 06مراجعة - صح أم خطأتحدي
حاسبة تقسيم الفاتورة
مشروع4 درسًا1- 01رسالة الترحيبتحدي
- 02حساب البقشيش والإجماليمشروع
- 03تقسيم الفاتورةمشروع
- 04مخرجات منسقةمشروع
الحلقات التكرارية
7 درسًا1345- 01حلقة Forتحديإتقاناختبارصوت
- 02حلقة Whileتحديإتقاناختبارصوت
- 03جملة Breakتحديإتقاناختبارصوت
- 04جملة Continueتحديإتقاناختبارصوت
- 05مراجعة - Factorialتحدي
- 06حلقة Do Whileتحديإتقاناختبارصوت
- 07الحلقات المتداخلةتحديإتقاناختبارصوت
الدوال
8 درسًا1250- 01تعريف دالةتحديإتقاناختبارصوت
- 02الوسائطتحديإتقاناختبارصوت
- 03الإرجاعتحديإتقاناختبارصوت
- 04مراجعة - دالة Sigmaتحدي
- 05تعبير الدالةتحديإتقاناختبارصوت
- 06المعاملات الافتراضيةاختبارصوت
- 07دوال السهمتحديإتقاناختبارصوت
- 08مراجعة - دالة Validationتحدي
FizzBuzz بلمسة إضافية
مشروع4 درسًا1- 01نظرة عامة على اللعبةتحدي
- 02دالة FizzBuzzمشروع
- 03التكرار عبر الأرقاممشروعصوت
- 04إضافة اللمسة الإضافيةمشروع
المصفوفات - الجزء الأول
6 درسًا1037- 01تعريف مصفوفةتحديإتقاناختبارصوت
- 02الوصول إلى عناصر المصفوفةتحديإتقاناختبارصوت
- 03تعديل المصفوفاتتحدياختبارصوت
- 04دوال المصفوفات - الجزء الأولتحديإتقاناختبارصوت
- 05دوال المصفوفات - الجزء الثانيتحديإتقاناختبارصوت
- 06مراجعة - معالج المصفوفاتتحدي
المصفوفات - الجزء الثاني
8 درسًا1254- 01التكرار عبر المصفوفاتتحدياختبارصوت
- 02دالة forEachتحدياختبارصوت
- 03حلقة for...ofتحديإتقاناختبارصوت
- 04مراجعة - عداد Pتحدي
- 05تقطيع المصفوفاتتحديإتقاناختبارصوت
- 06دوال المصفوفات - الجزء الثالثتحديإتقاناختبارصوت
- 07دوال المصفوفات - الجزء الرابعتحديإتقاناختبارصوت
- 08اختبار العضويةتحدياختبارصوت
متتبع قائمة البقالة
مشروع4 درسًا1- 01نظرة عامة على المشروعتحدي
- 02إضافة عنصرمشروع
- 03إزالة عنصرمشروع
- 04عرض القائمةمشروع
التحديات النهائية
3 درسًا37- 01هرم الأرقامتحدياختبارصوت
- 02مضاعفة الأعداد الفرديةتحدي
- 03ماذا تشتريتحدي
02قسم 2
Logic & Flow
Develop problem-solving skills and create dynamic, interactive programsابدأ التعلمالسلاسل النصية بعمق
5 درسًا630- 01أساسيات السلاسل النصيةاختبار
- 02التكرار عبر السلاسل النصيةتحديإتقاناختبار
- 03Template Literalsتحدياختبار
- 04دوال السلاسل النصيةتحديإتقاناختبار
- 05مراجعة - String Weaverتحدي
المصفوفات متعددة الأبعاد
9 درسًا1452- 01أساسيات المصفوفات ثنائية الأبعاداختبار
- 02الوصول إلى عناصر المصفوفات ثنائية الأبعادتحديإتقاناختبار
- 03الحلقات المتداخلة مع المصفوفات ثنائية الأبعادتحديإتقاناختبار
- 04مراجعة - المصفوفات ثنائية الأبعادتحدي
- 05جمع وطرح المصفوفاتتحديإتقاناختبار
- 06المصفوفات المتعرجة (Jagged Arrays)تحديإتقاناختبار
- 07المصفوفات ثلاثية الأبعاد وما بعدهاتحديإتقاناختبار
- 08أنماط المصفوفات ثنائية الأبعاد الشائعةتحديإتقاناختبار
- 09مراجعة - كل شيء عن المصفوفاتتحدي
JSON الجزء الأول
7 درسًا944- 01ما هو JSON؟اختبار
- 02التحقق من وجود المفتاحتحديإتقاناختبار
- 03Object Methodsتحديإتقاناختبار
- 04Spread Operator الجزء الأولاختبار
- 05Spread Operator الجزء الثانيتحديإتقاناختبار
- 06حذف المفاتيحتحديإتقاناختبار
- 07مراجعة - معالجة مفاتيح JSONتحدي
JSON الجزء الثاني
6 درسًا530- 01التكرار عبر JSONتحدياختبار
- 02JSON المتداخلتحدياختبار
- 03التسلسل الاختياري في JSONاختبار
- 04النسخ السطحي والعميقتحدياختبار
- 05مراجعة - متجر الدراجاتتحدي
- 06مراجعة - النظام الشمسيتحدي
المجموعات - الجزء الأول
8 درسًا749- 01ما هي المجموعة؟تحدياختبار
- 02التكرار عبر المجموعاتاختبار
- 03إضافة عنصرتحدياختبار
- 04إزالة عنصرتحدياختبار
- 05التحقق من وجود عنصرتحدياختبار
- 06الحجم وهل هي فارغةتحدياختبار
- 07النسخ والمسحتحدياختبار
- 08ملخص - أساسيات المجموعاتتحدي
المجموعات - الجزء الثاني
6 درسًا637- 01الرياضيات - اتحاد المجموعاتتحدياختبار
- 02الرياضيات - تقاطع المجموعاتتحدياختبار
- 03الرياضيات - الفرق بين المجموعاتتحدياختبار
- 04الرياضيات - الفرق المتناظرتحدياختبار
- 05المجموعات الجزئية والمجموعات الفائقةتحدياختبار
- 06مراجعة - مجموعات الأصدقاءتحدي
نظام إدارة المكتبة
مشروع5 درسًا1- 01نظرة عامة على المشروعتحدي
- 02إضافة الكتبمشروع
- 03البحث بالعنوانمشروع
- 04التصفية حسب النوعمشروع
- 05تحديد كمقروءمشروع
مواضيع شيقة حول الـ Arrays
4 درسًا422- 01تفكيك الـ Arrayتحدياختبار
- 02استخدام الـ Spread Syntax في الـ Arraysتحدياختبار
- 03الـ Sparse Arraysتحدياختبار
- 04مراجعة - ورشة عمل الـ Arraysتحدي
دوال المصفوفات المتقدمة
9 درسًا761- 01دالتا Join و Splitاختبار
- 02دالة Mapتحديإتقاناختبار
- 03دالة Filterتحدياختبار
- 04دالة Reduceتحدياختبار
- 05تسلسل دوال المصفوفاتتحدياختبار
- 06هل ForEach و Map متماثلتان؟اختبار
- 07دالة Sortتحدياختبار
- 08دالتا Find و FindIndexاختبار
- 09مراجعة - محترف التسلسلتحدي
إدارة نظام المهرجان
مشروع6 درسًا1- 01نظرة عامة على المشروعتحدي
- 02إضافة الأفلام والأماكنمشروع
- 03إضافة عرضمشروع
- 04شراء التذاكرمشروع
- 05تقييم الأفلاممشروع
- 06إلغاء العروضمشروع
03قسم 3
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ملخص: ضبط الأنواع بدقةتحدي
04قسم 4
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresابدأ التعلمالكائنات والكلمة المفتاحية this
6 درسًا642- 01مراجعة سريعة: الكائناتتحدياختبار
- 02إضافة Methods إلى الكائناتتحدياختبار
- 03فهم الكلمة المفتاحية thisتحدياختبار
- 04Constructor Functionsتحدياختبار
- 05الكلمة المفتاحية newتحدياختبار
- 06تحدي المراجعةتحدي
تنظيم الكود
4 درسًا434- 01ما هي الـ Modules؟تحدياختبار
- 02التصدير باستخدام exportتحدياختبار
- 03الاستيراد باستخدام importتحدياختبار
- 04الـ Default مقابل الـ Named Exportsتحدياختبار
الفئات والكائنات
4 درسًا426- 01ما هي الفئة؟تحدياختبار
- 02إنشاء النسختحدياختبار
- 03الخصائص والدوالتحدياختبار
- 04تحدي المراجعةتحدي
الميثودات وإدارة الحالة
2 درسًا218- 01الميثودات التي تعدل الحالةتحدياختبار
- 02نمط تسلسل الميثوداتتحدياختبار
التغليف والوصول
4 درسًا426- 01التغليفتحدياختبار
- 02حقول Class العامة والخاصةتحدياختبار
- 03Methods الخاصةتحدياختبار
- 04تحدي المراجعةتحدي
مشروع: حساب بنكي بسيط
مشروع3 درسًا1- 01فئة BankAccountتحدي
- 02الإيداعات والسحوباتمشروع
- 03الرصيد كحقل خاصمشروع
الوراثة والكلمة المفتاحية extends
6 درسًا645- 01الوراثةتحدياختبار
- 02علاقة "is-a"تحدياختبار
- 03الكلمة المفتاحية extendsتحدياختبار
- 04الدالة super()تحدياختبار
- 05وراثة الخصائص والوظائفتحدياختبار
- 06تحدي المراجعةتحدي
تنظيم كود OOP
1 درس19- 01تنظيم الـ Classes في Modulesتحدياختبار
الخصائص والدوال الثابتة (Static)
4 درسًا425- 01مستوى الكلاس مقابل مستوى الكائنتحدياختبار
- 02الخصائص الثابتة (Static Properties)تحدياختبار
- 03دوال المساعدة الثابتة (Static Utility Methods)تحدياختبار
- 04تحدي المراجعةتحدي
تعدد الأشكال
4 درسًا425- 01ما هو تعدد الأشكال؟تحدياختبار
- 02إعادة تعريف الدوال الموروثةتحدياختبار
- 03استخدام superتحدياختبار
- 04تحدي المراجعةتحدي
مشروع: مصيّر الأشكال
مشروع4 درسًا1- 01إعداد: فئة Shape والتصديرتحدي
- 02وراثة فئة Circleمشروع
- 03إعادة التعريف ودالة المساحةمشروع
- 04عداد الأشكال Staticمشروع
Getters و Setters
4 درسًا426- 01الكلمات المفتاحية get و setتحدياختبار
- 02الخصائص المحسوبةتحدياختبار
- 03التحقق من الصحة والآثار الجانبيةتحدياختبار
- 04تحدي المراجعةتحدي
التركيب مقابل الوراثة
3 درسًا328- 01علاقة "لديه" مقابل "هو"تحدياختبار
- 02حدود الوراثة العميقةتحدياختبار
- 03بناء الكائناتتحدياختبار
نظام إدارة المكتبة
مشروع3 درسًا1- 01تصميم المكتبةتحدي
- 02فئة الكتاب مع الـ Compositionمشروع
- 03التحقق من صحة مؤلف الكتابمشروع
التحديات النهائية
4 درسًا4- 01منشئ شخصيات الألعابتحدي
- 02نظام منتجات التجارة الإلكترونيةتحدي
- 03نظام إدارة الجامعاتتحدي
- 04نظام أجهزة المنزل الذكيتحدي
لماذا تتعلم JavaScript مع Coddy
- دورة JavaScript مجانية أونلاين: لا تثبيت ولا إعداد أدوات ولا عوائق للبدء. افتح المتصفح وابدأ التدريب من الدرس الأول.
- دروس JavaScript العملية تتجاوز الشرح النظري: كل مفهوم يرتبط بتمرين تكتب فيه كودًا حقيقيًا وتتعلم بالممارسة.
- تلميحات الذكاء الاصطناعي تساعدك عندما تتوقف في تمرين JavaScript، فتوضح الخطوة التالية من دون إعطاء الحل كاملًا.
- شهادة إتمام مجانية لدورة JavaScript يمكنك مشاركتها على LinkedIn أو إضافتها إلى سيرتك الذاتية.
أسئلة شائعة حول تعلّم JavaScript
هل JavaScript سهل التعلم؟
نعم، يمكنك البدء في JavaScript حتى لو لم تكن لديك خبرة سابقة. يقسّم Coddy المفاهيم إلى تمارين قصيرة لتفهم الصياغة وتتدرب على المتغيرات والشروط والحلقات والدوال وهياكل البيانات وتنظيم المشاريع وتبني ثقتك تدريجيًا.
كم يستغرق تعلّم JavaScript؟
يمكن تعلّم أساسيات JavaScript عادة خلال أسبوع أو أسبوعين من التدريب اليومي. ولإنشاء مشاريع حقيقية بثقة، خصص من شهر إلى ثلاثة أشهر حسب سرعتك وخبرتك السابقة.
أين يمكنني تعلّم JavaScript أونلاين مجانًا؟
يوفر Coddy دورة JavaScript مجانية أونلاين تشمل دروسًا وتحديات برمجية واختبارات ومشاريع. لا تحتاج إلى تثبيت أي شيء؛ كل شيء يعمل داخل المتصفح.
كيف أتعلم JavaScript بسرعة؟
أسرع طريقة هي التدريب اليومي. في Coddy تنتقل من شرح قصير إلى تمرين مباشر مع تلميحات ذكاء اصطناعي، فتقضي وقتك في كتابة JavaScript بدل مشاهدة فيديوهات طويلة فقط.
هل أحصل على شهادة JavaScript عند الانتهاء؟
نعم. عند إكمال دورة JavaScript على Coddy تحصل على شهادة إتمام مجانية يمكنك مشاركتها على LinkedIn أو إضافتها إلى سيرتك الذاتية.
ماذا يمكنني بناءه بعد تعلّم JavaScript؟
بعد الدورة ستتمكن من إنشاء سكربتات مفيدة وتطبيقات صغيرة وأتمتة وألعاب بسيطة ومشاريع تضيفها إلى معرض أعمالك. وستمتلك أيضًا أساسًا قويًا للانتقال إلى موضوعات أكثر تقدمًا.