الانتقال إلى المحتوى
My Subject Hub

تعلّم JavaScript عبر الإنترنت وابنِ صفحات ويب تستجيب

JavaScript هي اللغة التي يشغّلها كل متصفح ويب. تتعلّم اللغة نفسها أولًا، ثم تستخدمها لتجعل الصفحات تستجيب للنقرات وتتحقق من النماذج وتحمّل البيانات. وبعد أن تثبت الأساسيات، يمكنك الانتقال إلى TypeScript وReact وAngular وReact Native. كل حصة مباشرة وفردية، وتكتب الشيفرة بنفسك.

  • الحصة الأولى مجانية (30 دقيقة)
  • مباشرة وفردية عبر الإنترنت
  • معلمات عند الطلب
  • نرد خلال 24 ساعة

دورة JavaScript في لمحة

إجابات قصيرة عن الأسئلة التي يطرحها الطلاب وأولياء الأمور أولًا. وتجد تفصيل كل منها في أسفل الصفحة.

فيمَ تُستخدم JavaScript؟

تجعل JavaScript صفحات الويب تفاعلية: القوائم والنماذج والألعاب والصفحات التي تتحدّث دون إعادة تحميل. تشغّلها كل متصفحات الويب الكبرى. ومع أطر عمل مثل React وAngular تُبنى بها تطبيقات ويب كاملة، ومع React Native تطبيقات الجوّال، ومع Node.js الخوادم وأدوات المطوّرين.

من يجب أن يتعلم JavaScript؟

المبتدئون الذين يريدون البناء للويب، والطلاب الذين يعرفون شيئًا من HTML وCSS، وطلاب الجامعة في مقرر برمجة الويب، والمبرمجون الذين يضيفون لغة ثانية، وكل من يحتاج إلى TypeScript أو React أو Angular أو React Native.

ماذا أحتاج قبل أن أبدأ؟

لا تحتاج إلى خبرة في البرمجة. تفيد بعض المعرفة بـHTML في موضوعات الصفحات، ويعلّمك المعلم ما تحتاجه منها إن لم تكن لديك. تحتاج إلى حاسوب محمول أو مكتبي بمتصفح حديث.

ما الموضوعات التي تغطيها الدورة؟

أساسيات JavaScript، والمتغيرات وأنواع البيانات، والشروط والحلقات، والدوال، والمصفوفات والكائنات، وDOM والأحداث، وJavaScript غير المتزامنة. ثم TypeScript من الأساسيات إلى المستوى المتقدم، وReact، وAngular (الإصدار 2 وما بعده)، وReact Native، مع التدريب عبر مشروعات عملية.

كيف تُقدَّم الحصص؟

مباشرة وفردية عبر Microsoft Teams أو Zoom. تشارك شاشتك وتكتب الشيفرة في محررك ومتصفحك، ويرشدك المعلم خطوة بخطوة.

كيف أبدأ تعلّم JavaScript؟

احجز الحصة التعريفية المجانية ومدتها 30 دقيقة عبر النموذج في هذه الصفحة أو عبر واتساب. نرد خلال 24 ساعة، ويتعرّف المعلم على ما تعرفه ويقترح نقطة البداية.

لمن تناسب دورة JavaScript؟

  • المبتدئون الذين يريدون جعل صفحات الويب تفاعلية
  • الطلاب الذين يعرفون شيئًا من HTML وCSS ويريدون أن تفعل صفحاتهم شيئًا
  • طلاب الجامعة في مقرر برمجة الويب أو تطوير الويب
  • المبرمجون الذين يعرفون Python أو ⁦C++⁩ أو Java ويريدون معرفة ما يميّز JavaScript
  • الطلاب والمطوّرون الذين يحتاجون إلى TypeScript أو React أو Angular أو React Native لمقرر أو مشروع

أين يتعثر الطلاب عادةً

  • الفرق بين ⁦let⁩ و⁦const⁩ و⁦var⁩
  • مقارنات تفاجئك، مثل ⁦==⁩ مقابل ⁦===⁩
  • شيفرات تعمل قبل اكتمال تحميل الصفحة
  • دوال الاستدعاء والوعود (promises) والشيفرة غير المتزامنة التي تعمل بترتيب غير متوقع
  • إيجاد سبب الخطأ في وحدة تحكم المتصفح
  • حالة (state) في React لا تتحدّث كما تتوقع
  • أخطاء أنواع في TypeScript على شيفرة تبدو صحيحة

المتطلبات المسبقة

  • لا تحتاج إلى خبرة في البرمجة. أساسيات اللغة تأتي أولًا.
  • بعض المعرفة بـHTML تفيد في موضوعات الصفحات. وإن لم تكن لديك، يعلّمك المعلم ما تحتاجه منها أثناء الدروس.
  • متصفح حديث مثل Chrome أو Firefox أو Edge.
  • لـReact وAngular وReact Native: إتقان JavaScript، بما في ذلك الدوال والمصفوفات والكائنات والشيفرة غير المتزامنة. يستخدم Angular لغة TypeScript، لذا تأتي TypeScript أولًا.

ما تحتاجه للدروس

  • حاسوب محمول أو مكتبي. الهاتف أو الجهاز اللوحي لا يكفي لكتابة الشيفرة.
  • اتصال مستقر بالإنترنت وبرنامج Microsoft Teams أو Zoom.
  • مكان هادئ تستطيع فيه مشاركة شاشتك والتحدث مع المعلم.

منهج دورة JavaScript

الموضوعات بالترتيب الذي تُدرَّس به عادةً. يكيّف المعلم الترتيب والعمق حسب مستواك، وحسب منهج مدرستك أو جامعتك إن شاركته.

  1. أساسيات JavaScript

    • أين تعمل JavaScript: المتصفح وNode.js
    • إضافة شيفرة إلى صفحة ويب
    • وحدة تحكم المتصفح و⁦console.log()⁩
    • الجمل والتعليقات والوضع الصارم (strict mode)
  2. المتغيرات وأنواع البيانات

    • ⁦let⁩ و⁦const⁩، ولماذا نتجنب ⁦var⁩
    • الأعداد والنصوص والقيم المنطقية و⁦null⁩ و⁦undefined⁩
    • القوالب النصية (template literals)
    • ⁦typeof⁩ وتحويل الأنواع
  3. الشروط والحلقات

    • ⁦if⁩ و⁦else if⁩ و⁦else⁩
    • عوامل المقارنة والعوامل المنطقية، ومنها ⁦===⁩ و⁦!==⁩
    • حلقات ⁦for⁩ و⁦while⁩ و⁦for…of⁩
    • جمل ⁦switch⁩
  4. الدوال

    • تعريف الدوال والدوال السهمية
    • المعاملات والقيم الافتراضية و⁦return⁩
    • النطاق والإغلاقات (closures)
    • تمرير دالة إلى دالة أخرى (دوال الاستدعاء)
  5. المصفوفات والكائنات

    • إنشاء المصفوفات وقراءتها وتحديثها
    • دوال المصفوفات: ⁦map, filter, find, reduce⁩
    • الكائنات وخصائصها ودوالها
    • التفكيك (destructuring) وعامل النشر (spread)
    • JSON: تحويل البيانات إلى نص والعكس
  6. أساسيات DOM

    • اختيار العناصر باستخدام ⁦querySelector⁩
    • تغيير النصوص والأصناف والأنماط
    • إنشاء العناصر وإزالتها
    • الأحداث: ⁦click, input, submit⁩
    • التحقق من النموذج قبل إرساله
  7. JavaScript غير المتزامنة

    • لماذا تنتظر بعض الشيفرات: المؤقتات وحلقة الأحداث
    • دوال الاستدعاء والوعود
    • ⁦async⁩ و⁦await⁩
    • تحميل البيانات باستخدام ⁦fetch()⁩ ومعالجة الفشل باستخدام ⁦try⁩ و⁦catch⁩
  8. TypeScript من الأساسيات إلى المستوى المتقدم

    • تعليقات الأنواع والاستدلال والمترجم (⁦tsc⁩)
    • الواجهات وأسماء الأنواع المستعارة والخصائص الاختيارية
    • أنواع الاتحاد والأنواع الحرفية وتضييق الأنواع
    • الأنواع العامة (generics) في الدوال والأصناف والواجهات
    • الأنواع المساعدة مثل ⁦Partial, Pick, Record⁩
    • الوضع الصارم و⁦tsconfig⁩ وتحديد أنواع البيانات القادمة من API
  9. React

    • المكوّنات وJSX
    • الخصائص (props) والحالة (state) والخطاف ⁦useState⁩
    • الأحداث والنماذج والمدخلات المتحكَّم بها
    • القوائم والمفاتيح والعرض الشرطي
    • ⁦useEffect⁩ وتحميل البيانات
    • الخطافات المخصّصة وcontext، وReact مع TypeScript
  10. Angular (الإصدار 2 وما بعده)

    • المكوّنات والقوالب وربط البيانات
    • تدفق التحكم المدمج والتوجيهات (directives)
    • الخدمات وحقن الاعتماديات
    • التوجيه بين الصفحات
    • النماذج المعتمدة على القوالب والنماذج التفاعلية
    • ⁦HttpClient⁩ وأساسيات RxJS observables
  11. React Native

    • المكوّنات الأساسية: ⁦View, Text, Image, FlatList⁩
    • التنسيق باستخدام ⁦StyleSheet⁩ وFlexbox
    • اللمس وإدخال النص والإيماءات البسيطة
    • التنقّل بين الشاشات
    • تحميل البيانات من API في تطبيق جوّال
    • تشغيل التطبيق على هاتفك أو على محاكٍ

طريقة عملية للتعلّم

الشيفرة في المتصفح من اليوم الأول
تكتب JavaScript في ملف حقيقي وترى النتيجة في المتصفح فورًا، مع وحدة التحكم مفتوحة للتحقق من كل خطوة.
اللغة أولًا، ثم الصفحة
تأتي المتغيرات والدوال والمصفوفات والكائنات قبل DOM، حتى تفهم الشيفرة التي تكتبها عندما تبدأ بتغيير الصفحات.
تتبّع الأخطاء بأدوات المطوّر
تتعلم قراءة أخطاء وحدة التحكم، وإيقاف الشيفرة بنقاط التوقف، وفحص العناصر، لتعرف لماذا لا يفعل زرٌّ شيئًا.
صفحة صغيرة في كل مرة
كل مشروع صفحة واحدة تُكملها وتفهمها، ثم تضيف إليها ميزة جديدة في درس لاحق.

تمارين ومشروعات تطبيقية

تبني كل مشروع بنفسك، من صفحة واحدة إلى تطبيق صغير. ويختار المعلم المشروعات بما يناسب مستواك. هذه أمثلة معتادة.

  • قائمة مهام

    أضف المهام وعلّمها كمنجزة واحذفها، واحتفظ بها بعد إعادة تحميل الصفحة باستخدام ⁦localStorage⁩.

    يتدرّب على

    • المصفوفات والكائنات
    • إنشاء عناصر DOM
    • أحداث النقر
  • بيانات من واجهة ويب (API)

    حمّل بيانات من واجهة API عامة باستخدام ⁦fetch⁩، واعرضها على الصفحة، وأظهر رسالة واضحة إذا فشل الطلب.

    يتدرّب على

    • ⁦fetch⁩ و⁦async/await⁩
    • JSON
    • ⁦try⁩ و⁦catch⁩
  • قائمة المهام في React أو Angular

    أعد بناء قائمة المهام من مكوّنات، ببيانات محددة الأنواع وحالة، وقارنها بنسخة JavaScript العادية.

    يتدرّب على

    • TypeScript
    • المكوّنات والحالة
    • النماذج
  • تطبيق جوّال في React Native

    تطبيق صغير من شاشتين يحمّل قائمة من API ويعمل على هاتفك.

    يتدرّب على

    • مكوّنات React Native
    • التنقّل
    • تحميل البيانات

واجباتك تبقى من عملك

يشرح المعلم ويراجع الكود معك ويساعدك على إيجاد الأخطاء، لكنه لا يكتب لك الواجبات أو مهام المختبر التي تُقيَّم.

اقرأ سياسة النزاهة الأكاديمية

ما الذي يمكنك أن تتوقع تعلّمه

  • كتابة JavaScript بالمتغيرات والشروط والحلقات والدوال وشرح ما يفعله كل سطر
  • تخزين البيانات وتحويلها بالمصفوفات والكائنات، باستخدام دوال مثل ⁦map⁩ و⁦filter⁩
  • اختيار عناصر الصفحة وتغييرها عندما ينقر المستخدم أو يكتب أو يرسل نموذجًا
  • التحقق من النموذج في المتصفح قبل إرساله
  • تحميل البيانات باستخدام ⁦fetch⁩ و⁦async/await⁩، وعرض رسالة واضحة عند فشل الطلب
  • إيجاد الأخطاء وإصلاحها بأدوات المطوّر في المتصفح
  • كتابة شيفرة محددة الأنواع بلغة TypeScript، بما فيها الواجهات وأنواع الاتحاد والأنواع العامة
  • بناء تطبيق صغير من مكوّنات في React أو Angular، وشاشة جوّال بسيطة في React Native

هذه أهداف الدروس. يعتمد التقدم على مستواك عند البدء وعلى تدريبك، ولا نعد أبدًا بدرجات أو نتائج.

المستويات المناسبة

تبدأ الدورة من مستوى المبتدئين وتصل إلى TypeScript وأطر العمل، لذا ينضم الطلاب عند نقاط مختلفة. والحصة المجانية تحدد من أين تبدأ.

  • المستوى: مبتدئ

    جديد على البرمجة

    تبدأ باللغة نفسها في وحدة تحكم المتصفح، ثم تنتقل إلى صفحات الويب بعد أن تتضح المتغيرات والشروط والدوال.

  • المستوى: من مبتدئ إلى متوسط

    تعرف HTML وCSS

    تستطيع بناء صفحة ثابتة وتريد أن تستجيب. تركّز الدروس على اللغة وDOM، ولا تعود إلى HTML إلا عند الحاجة.

  • المستوى: متوسط

    تبرمج بلغة أخرى

    الحلقات والدوال مألوفة لك من Python أو ⁦C++⁩ أو Java. تركّز الدروس على ما يختلف في JavaScript: الكائنات، والدوال كقيم، وDOM، والشيفرة غير المتزامنة.

  • المستوى: متقدم

    تعرف JavaScript وتريد إطار عمل

    أنت متمكّن من JavaScript. تبدأ الدروس بـTypeScript أو تنتقل مباشرة إلى React أو Angular أو React Native، حسب مقررك أو مشروعك.

ماذا تتعلم بعد ذلك

بعد JavaScript يضيف الطلاب عادةً لغة ثانية أو يتعمقون في طريقة تصميم البرامج.

  • برمجة Python

    لغة ثانية للبرمجة النصية والأتمتة والعمل مع البيانات.

  • البرمجة كائنية التوجه

    الأصناف والوراثة والتصميم، وهي تساعد أيضًا على تنظيم مشروعات JavaScript الأكبر.

  • دورات البرمجة

    قارن JavaScript بـPython و⁦C++⁩ وبقية دورات البرمجة.

أدلة مجانية

معلم JavaScript

يدرّس حصص JavaScript معلمو البرمجة أدناه. يُنشر كل ملف بموافقة المعلم. عندما تتواصل معنا، نقترح معلمًا يناسب مستواك ومواعيدك.

  • صورة Ali Sher Abbasi، معلم في My Subject Hub

    Ali Sher Abbasi

    معلم في ماي سبجكت هب

    • BS (Computer Science)
    • DSA certification
    الخبرة في التدريس
    5 سنوات
    لغات التدريس
    الإنجليزية والأوردية
    علوم الحاسوب والبرمجة
    • أساسيات البرمجة
    • ⁦C++⁩ وJava
    • JavaScript وتطوير الويب
    • البرمجة كائنية التوجه
    • هياكل البيانات والخوارزميات
    • علوم الحاسوب المتقدمة
    • أساسيات الأمن السيبراني
    • الإرشاد في مشاريع التخرج
    المواد المدرسية والجامعية
    • الرياضيات
    • العلوم والفيزياء والكيمياء والأحياء
    • اللغة الإنجليزية
    • اللغة الأردية
    أسلوب التدريس
    أسلوب ودود وصبور. مهام وواجبات يومية واختبارات قصيرة لمتابعة التقدّم، ولا ننتقل إلى الموضوع التالي إلا بعد أن يتّضح السابق تمامًا.
    المناهج والمجالس التعليمية
    All curricula and boards
    التوفر عبر الإنترنت
    في أي وقت يناسب الطالب
عرض جميع المعلمين

رسوم الدورة

Python وJavaScript و⁦C++⁩ وJava وC. رسوم شهرية ثابتة لكل دورة، مهما كان عدد الحصص في الأسبوع.

دولي
⁦$60⁩شهريًا
السعودية
⁦SAR 180⁩شهريًايشمل خصم 20% للطلاب في السعودية

تتبع البرمجة كائنية التوجه وهياكل البيانات والخوارزميات والأمن السيبراني الخطط الشهرية، مثل المواد الأكاديمية.

اطّلع على جميع الرسوم والخطط

أسئلة عن دورة JavaScript

هل JavaScript هي نفسها Java؟

لا. هما لغتان مختلفتان باسمين متشابهين. تعمل JavaScript في متصفحات الويب وتُستخدم أساسًا للويب، بينما تُستخدم Java للتطبيقات وAndroid وكثير من المقررات الجامعية. ونحن ندرّس اللغتين.

هل يجب أن أعرف HTML وCSS أولًا؟

ليس لأساسيات اللغة. تحتاج موضوعات DOM إلى شيء من HTML، ويعلّمك المعلم ما تحتاجه أثناء الدروس، فلا حاجة إلى دورة HTML منفصلة أولًا.

هل JavaScript لغة أولى مناسبة؟

نعم، إن كنت تريد البناء للويب: تحتاج إلى متصفح فقط، وترى النتيجة على الصفحة فورًا. وإن لم يكن الويب ما يهمك، أو كان مقررك بلغة Python، فإن Python بداية أسهل.

اطّلع على دورة Python

هل تدرّسون React وAngular وReact Native؟

نعم. ندرّس React وAngular لتطبيقات الويب، وReact Native لتطبيقات الجوّال. وتأتي بعد أساسيات JavaScript، لأن كل إطار عمل يُبنى على الدوال والكائنات والشيفرة غير المتزامنة. وإن كنت تعرف JavaScript بالفعل، يمكنك البدء بالإطار الذي يحتاجه مقررك أو مشروعك.

ما إصدار Angular الذي تدرّسونه؟

Angular 2 وما بعده، أي Angular الحالي المكتوب بلغة TypeScript. أما AngularJS القديم (الإصدار 1) فهو إطار مختلف وليس جزءًا من هذه الدورة.

هل تدرّسون TypeScript؟

نعم، من الأساسيات إلى الموضوعات المتقدمة: الأنواع والواجهات أولًا، ثم أنواع الاتحاد وتضييق الأنواع، والأنواع العامة، والأنواع المساعدة، والإعدادات الصارمة. تضيف TypeScript الأنواع إلى JavaScript، فكل ما تتعلمه هنا ينتقل معك.

هل أتعلم React أم Angular؟

إن كان مقررك أو عملك أو مشروعك يستخدم أحدهما، فتعلّمه. وإلا فإن React عادةً بداية أخف، وتقودك إلى React Native لتطبيقات الجوّال. أما Angular فيتضمن مزايا جاهزة أكثر، مثل التوجيه والنماذج، ويستخدم TypeScript دائمًا.

ما البرامج التي سأستخدمها؟

متصفح حديث ومحرر شيفرة مجاني مثل VS Code، ولاحقًا Node.js لـTypeScript وReact وAngular وReact Native. يساعدك المعلم على إعدادها.

كم يستغرق تعلّم JavaScript؟

لا توجد مدة ثابتة. يعتمد ذلك على نقطة بدايتك، وعدد دروسك في الأسبوع، وما تبنيه بين الدروس. يقترح المعلم خطة بعد الحصة المجانية. الرسوم ⁦$60⁩ شهريًا (⁦SAR 180⁩ في السعودية)، مهما كان عدد الحصص في الأسبوع.

اطّلع على الرسوم والخطط

احجز حصة JavaScript تعريفية مجانية

تعرّف على المعلم، واكتبا معًا بضعة أسطر من JavaScript، واتفقا على نقطة البداية: الأساسيات أو TypeScript أو إطار عمل. املأ النموذج وسنرتّب موعدًا.

ماذا يحدث بعد ذلك

  1. نرد خلال 24 ساعة عبر واتساب أو البريد الإلكتروني.
  2. تتفق مع المعلم على موعد الحصة المجانية ومدتها 30 دقيقة.
  3. في الحصة يتعرّف المعلم على مستواك، وتكتبان معًا قليلًا من الشيفرة، وتحصل على اقتراح لنقطة البداية.
  4. لا التزام بالاستمرار بعد الحصة المجانية.

أخبرنا عن الطالب

المطلوب فقط الاسم ومستوى الطالب ووسيلة واحدة للتواصل. كل ما عدا ذلك اختياري.

عن الطالب
كيف نتواصل معك

رقم تواصل مع رمز الدولة، أو بريد إلكتروني، أو كلاهما. نحتاج إلى واحد على الأقل للرد، ويكفي البريد الإلكتروني إن كنت تفضّل عدم مشاركة رقمك.

تفضيلات الحصص(اختياري)
المعلم المفضّل(اختياري)

نستخدم هذه البيانات فقط للرد عليك وترتيب الحصص. كيف نتعامل مع معلوماتك