نظرة عامة في لغة JavaScript
يا هلا بالشباب! اليوم بنتكلم عن JavaScript، اللغة اللي قلبت موازين الويب وصارت أساسية في كل مكان. هي لغة برمجة عالية المستوى، تفسيرية، وتدعم أنماط برمجة متعددة زي الكائنية (Object-Oriented) والوظيفية (Functional).
ليش JavaScript مهمة؟
في البداية، كانت JavaScript تستخدم عشان تخلي صفحات الويب تفاعلية. يعني مثلاً، لما تضغط زر ويطلع لك شيء، أو لما تتغير قائمة بدون ما الصفحة تسوي refresh. بس الحين؟ استخداماتها صارت أوسع بكثير:
- الواجهات الأمامية (Frontend): أساس بناء واجهات المستخدم التفاعلية باستخدام مكتبات وأطر عمل زي
React،Angular، وVue. - الواجهات الخلفية (Backend): مع
Node.js، تقدر تبني سيرفرات وتطبيقات ويب كاملة باستخدام JavaScript. - تطبيقات الجوال (Mobile Apps): باستخدام
React NativeأوNativeScript. - تطبيقات سطح المكتب (Desktop Apps): مع
Electron.
ملاحظة: JavaScript مو نفس Java! كثير يخبصون بينهم، بس تراهم لغتين مختلفتين تماماً.
أساسيات اللغة
المتغيرات (Variables)
عشان تخزن بيانات، تستخدم المتغيرات. عندنا var (القديمة شوي)، و let و const (الأحدث والأفضل).
let للمتغيرات اللي قيمتها ممكن تتغير، و const للمتغيرات اللي قيمتها ثابتة وما تتغير.
مثال:
أنواع البيانات (Data Types)
عندنا أنواع بيانات أساسية زي:
String: للنصوص زي "مرحباً".Number: للأرقام زي 10 أو 3.14.Boolean: للقيم المنطقيةtrueأوfalse.Undefined: لما يكون المتغير ما له قيمة.Null: لما تكون القيمة "لا شيء" بشكل مقصود.Object: للأشياء المعقدة زي الكائنات والمصفوفات.Symbol,BigInt: أنواع أحدث شوي.
الدوال (Functions)
الدوال هي مجموعة أكواد تسوي مهمة معينة وتقدر تستدعيها أكثر من مرة.
مثال:
التفاعل مع صفحة الويب (DOM Manipulation)
إذا كنت تشتغل على الويب، JavaScript تعطيك القدرة إنك تعدّل على محتوى الصفحة وهيكلها. هذا الشيء نسميه DOM (Document Object Model).
مثلاً، تقدر تغير نص عنصر، تضيف عنصر جديد، أو تستجيب لضغطات الأزرار.
مثال بسيط لتغيير نص فقرة:
التعامل مع الأحداث (Event Handling)
JavaScript قوية جداً في الاستجابة للأحداث اللي تصير في الصفحة، زي ضغط زر، تحريك الماوس، أو إرسال نموذج.
مثال:
البرمجة غير المتزامنة (Asynchronous JavaScript)
كثير من العمليات في الويب تاخذ وقت، زي جلب البيانات من سيرفر. JavaScript توفر طرق للتعامل مع هالشيء بدون ما تعلق الصفحة.
عندنا Callbacks، Promises، و async/await.
مثال بسيط باستخدام async/await لجلب بيانات (طبعاً تحتاج بيئة متكاملة عشان تشتغل):
مستقبل JavaScript
ملاحظة: JavaScript تتطور باستمرار! كل سنة ينزل إصدار جديد (
ESNext) يجيب معاه ميزات وأدوات جديدة عشان يخلي حياتنا كمبرمجين أسهل. مهم إنك تظل مطلع على آخر التحديثات.
وبس والله، هذي كانت نظرة سريعة على JavaScript. اللغة هذي بحر، وكل ما تعمقت فيها بتشوف أشياء رهيبة تقدر تسويها. شد حيلك!