الكثير من المبتدئين في مجال تطوير الويب يتجنبون الخوض في الحديث عن لغة الجافاسكريبت بالرغم من أنها مهمة جدا في هذا المجال و على أي مطور ويب على اﻷقل أن يكون باستطاعته قراءة و فهم الأكواد المكتوبة بها حتى يستطيع على الأقل التعديل على الشفرات البرمجية المتوفرة على شبكة اﻷنترنت.
في سلسلة المقاﻻت هته،سنأخذ نظرة عامة حول لغة الجافاسكريبت،أين تستخدم و ما هي اشتقاقاتها المشهورة و التي لتكون إما مكتبة منفصلة(إطار عمل) أو بنيت لتكون منصة برمجية منفصلة.هذه المقاﻻت لن تحوي على تجارب تطبيقية.
** تم اعداد هذه المقاﻻت لمن ﻻ يملكون أية خبرة مسبقة/خبرة قليلة مع الجافاسكريبت
ما هي الجافاسكريبت:
جاء تعريف لغة الجافاسكريبت في موقع الويكيبيديا كالتالي:
JavaScript is a high-level, dynamic, untyped, and interpreted programming language. It has been standardized in the ECMAScript language specification
معنى هذا التعريف و باختصار هو،الجافاسكريبت لغة برمجية عالية المستوى،ديناميكية مفسرة تعمل على متصفح اﻷنترنت،دعونا نشرح هذه النقاط بالتفصيل.
عالية المستوى: و تعني بأن اللغة ﻻ تفرض على المبرمج أن يكون على دراية بالتفاصيل الدقيقة لخاصية ما،مثلا الجافاسكريبت ﻻ تفرض عليك معرفة كيف يتم القيام بطلب (request) لصفحة ما،فهي توفر دواﻻ و كلاسات (Classes) توفر لك الوصول السهل لخصائص المتصفح.اللغات المنخفضة المستوى نقصد بها لغات مثل اﻷسمبلي و السي.
ديناميكية: معناها أن اللغة تمنح المبرمج القدرة على إضافة أكواد برمجية من لغات أخرى سواء كان ذلك أثناء البرمجة أو حتى أثناء سير البرنامج مثل استقبال مخرجات استعلام من قاعدة البيانات و هذا ما يفسر إمكانية دمج الجافاسكريبت مع لغات مثل HTML و CSS و حتى PHP و Python.
مصنفة(Untyped): و تعني بأن لغة الجافاسكريبت ﻻ تحتاج إلى تقوم بتحديد نوع المتغير،فمثلا في لغات مثل السي و السي بلس بلس و الجافا،عند انشائك ﻷن متغير عليك أن تحدد نوعه إن كان متغيرا نصيا أو رقميا أو منطقيا (True/False) … في الجافاسكريبت يكفي فقط أن تقوم بإنشاء المتغير و اترك الباقي لمفسر الجافاسكريبت.
مفسرة: لغة الجافاسكريبت هي لغة مفسرة،بمعنى أنها تقوم بتنفيذ الكود بشكل مباشر دون تحويله إلى صيغ أخرى،لتفهم الموضوع بشكل أفضل يرجى قراءة هذا المقال : تريد تعلم البرمجة!ما هي البرمجة اذا؟
موحدة Standardized: يتم تطويرها لتعمل على جميع المتصفحات المتوفرة لهذا يمكننا اعتبارها لغة برمجة متعددة المنصات مثل بايثون،روبي و غيرهما.
سنكتفي بهذا القدر لليوم،نلتقي بحول الله في الجزء الثاني