"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هي جافا سكريبت؟ تعريف واحد لتغطية كل شيء.

ما هي جافا سكريبت؟ تعريف واحد لتغطية كل شيء.

تم النشر بتاريخ 2024-08-20
تصفح:634

What is JavaScript? One Definition to Cover It All.

قد يتم أو لا يتم طرح هذا السؤال في المقابلة ولكن ثق بي بمجرد قراءة هذا ستفهم مصطلحات JS بشكل أفضل. (يشير براوني إلى استخدام هذا أثناء المقابلة).

هذا هو السؤال رقم 3 من سلسلة أسئلة المقابلة الخاصة بالواجهة الأمامية. إذا كنت تتطلع إلى رفع مستوى استعداداتك أو البقاء على اطلاع بشكل عام، فكر في الانضمام إلى قائمة الانتظار في Frontend Camp.


JavaScript هي لغة برمجة أحادية الترابط ومكتوبة ديناميكيًا ومفسرة تدعم نماذج متعددة بما في ذلك الأنماط الموجهة للكائنات والوظيفية والحتمية. ويتميز بتوجيه كائن قائم على النموذج الأولي وبنية تعتمد على الحدث.

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

خيط واحد

جافا سكريبت هي لغة ذات ترابط واحد مما يعني أنها تحتوي على مؤشر ترابط رئيسي واحد فقط للتنفيذ. وهذا يعني أيضًا أنه يحتوي على مكدس استدعاء واحد. عند إجراء استدعاء دالة، تتم إضافتها إلى أعلى مكدس الاستدعاءات. بمجرد الانتهاء من التنفيذ، يتم إخراجه من المكدس وينتقل عنصر التحكم إلى الوظيفة التالية في مكدس الاستدعاءات. يعد تنفيذ المهام بشكل تسلسلي أمرًا أساسيًا لطبيعة JavaScript ولكنه يوفر واجهات برمجة التطبيقات (APIs) لتنفيذ العمليات غير المتزامنة (يعد الجلب وsetTimeout بعض الأمثلة).

تمت كتابته ديناميكيًا

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

لغة البرمجة المفسرة

على عكس اللغات المترجمة مثل Java، لا يتم تجميع JavaScript في كود الجهاز قبل التنفيذ. وبدلاً من ذلك، تتم قراءة التعليمات البرمجية وتفسيرها وتنفيذها سطرًا تلو الآخر في وقت التشغيل. ومع ذلك، لتحسين الأداء، تستخدم محركات JavaScript الحديثة تجميع Just-In-Time(JIT) الذي يجمع أجزاء من التعليمات البرمجية بسرعة. يعمل هذا الأسلوب على تحسين سرعة التنفيذ.

كائن المنحى

ينظم نموذج البرمجة هذا التعليمات البرمجية في كائنات، وهي مثيلات للفئات أو النماذج الأولية. تم تقديم الكلمة الأساسية للفئة في ES6 للسكر النحوي. تحت الغطاء، لا تزال الفئات في JavaScript تستخدم النماذج الأولية. يعد تطبيق OOP فريدًا بالنسبة لجافا سكريبت.

وظيفية

إنه نموذج برمجة يشجع على كتابة التعليمات البرمجية التعريفية من خلال التركيز على استخدام الوظائف. بعض المفاهيم الأساسية هي:

  1. الوظائف النقية: الوظائف التي تنتج دائمًا نفس المخرجات لمدخلات معينة وليس لها أي آثار جانبية.
  2. وظائف ذات ترتيب أعلى: وظائف يمكن أن تأخذ وظائف أخرى كوسيطات أو ترجعها كنتائج.
  3. الثبات: التعامل مع البيانات على أنها غير قابلة للتغيير، على الرغم من أن جافا سكريبت لا تفرض ذلك بشكل افتراضي.
  4. دوال من الدرجة الأولى: يتم التعامل مع الوظائف كمواطنين من الدرجة الأولى، مما يعني أنه يمكن تعيينها للمتغيرات، أو تمريرها كوسائط، أو إرجاعها من وظائف أخرى.
  5. تكوين الوظيفة: بناء وظائف معقدة من خلال الجمع بين وظائف أبسط.

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

إلزامي

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

التوجه القائم على النموذج الأولي

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

تشمل الجوانب الرئيسية للتوجيه القائم على النموذج الأولي في JavaScript ما يلي:

  1. إنشاء الكائنات: يمكن إنشاء الكائنات مباشرة دون تحديد فئة أولاً.

  2. سلسلة النموذج الأولي: كل كائن لديه رابط لكائن آخر يسمى النموذج الأولي الخاص به. إذا لم يتم العثور على خاصية أو طريقة على كائن ما، تبحث JavaScript عنها في النموذج الأولي، ثم النموذج الأولي للنموذج الأولي، وهكذا.

  3. الوراثة: يمكن للكائنات أن ترث خصائص وأساليب من كائنات أخرى من خلال سلسلة النماذج الأولية الخاصة بها.

يسمح هذا النظام القائم على النموذج الأولي ببرمجة قوية ومرنة موجهة للكائنات.

العمارة القائمة على الحدث

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

تشمل الجوانب الرئيسية لبنية جافا سكريبت المستندة إلى الأحداث ما يلي:

  1. مستمعو الأحداث: الوظائف التي "تستمع" لأحداث معينة وتنفذ عند وقوع تلك الأحداث.

  2. حلقة الأحداث: عملية مستمرة تتحقق من الأحداث وترسلها إلى مستمعيها.

  3. البرمجة غير المتزامنة: تسمح بتشغيل التعليمات البرمجية دون حظر الخيط الرئيسي، وهو أمر ضروري لتطبيقات الويب سريعة الاستجابة.

تمكن هذه البنية جافا سكريبت من التعامل مع تفاعلات المستخدم، واستدعاءات واجهة برمجة التطبيقات، والمؤقتات، والعمليات غير المتزامنة الأخرى بكفاءة، مما يجعلها مناسبة تمامًا لإنشاء تطبيقات الويب التفاعلية.

كل هذه المفاهيم مجتمعة تجعل من JavaScript لغة متعددة الاستخدامات يمكن استخدامها على مجموعة متنوعة من الأنظمة الأساسية مثل الويب والجوال والخادم والواقع المعزز.


ملحوظات

في مقابلتك، تذكر هذا التعريف:

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

موارد

معسكر الواجهة
ماذا يعني جافا سكريبت هي لغة مترابطة واحدة
لغات البرمجة المترجمة والمترجمة

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/thesanjeevsharma/what-is-javascript-one-definition-to-cover-it-all-43l2?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3