تقنية التوجه بالأحداث ECMAScript
- الصفحة السابقة الإغلاق (closure)
- الصفحة التالية تطبيق الأداة
مصطلحات التوجيه بالأوبجكت
الجهاز
يحدد ECMA-262 الأجهزة بأنها 'مجموعة غير مرتبة من الخصائص، حيث تحتوي كل خصائص على قيمة بسيطة أو جهاز أو وظيفة'. وبشكل صحيح، هذا يعني أن الأجهزة هي مجموعة من القيم غير المرتبة.
على الرغم من أن ECMAScript يتعريف الأجهزة بهذا الشكل، إلا أن تعريفه الأكثر عمومية يُبنى على تمثيل المفردات (الناس أو الأماكن أو الأشياء) من خلال الكود.
الفئة
كل جهاز يتم تعريفه بواسطة فئة، يمكن اعتبار الفئة كوصفة للجهاز. يجب على الفئة ليس فقط تعريف واجهة الجهاز (الصفات والمهام التي يمكن الوصول إليها من قبل المطورين)، بل أيضًا تعريف العمل الداخلي للجهاز (الكود الذي يجعل الصفات والمهام تعمل). يقوم معالج الأوامر وبرنامج التفسير بناء الأجهزة بناءً على توصيف الفئة.
التمثيل
عندما يستخدم البرنامج الفئات لإنشاء أجهزة، تُسمى الأجهزة المولدة كائنات (instances). يحدد عدد الأجهزة التي يولدها الفئة الحد الوحيد المتمثل في ذاكرة الجهاز الذي يشتغل البرنامج عليه. يُعتبر سلوك كل كائن متشابهًا، لكن كل كائن يتعامل مع مجموعة بيانات مستقلة. يُسمى عملية إنشاء كائنات من الفئة عملية التمثيل (instantiation).
في الفصول السابقة ذكرنا أن ECMAScript ليس له فئات رسمية. بدلاً من ذلك، يصف ECMA-262 الأجهزة بأنها وصفات للأجهزة. هذا هو حل وسط منطقي في ECMAScript، لأن وصف الأجهزة هو جهاز نفسه. حتى لو لم تكن الفئات موجودة بالفعل، نسمي وصف الأجهزة بالفئات لأن معظم المطورين أكثر مرونة مع هذا المصطلح، ومن الناحية الوظيفية، كلاهما متساويان.
متطلبات لغة موجهة للأجهزة
لغة موجهة للأجهزة تحتاج إلى تقديم أربع مهارات أساسية للمطورين:
- التجميع - القدرة على تخزين المعلومات ذات الصلة (بغض النظر عن البيانات أو الطرق) داخل الجهاز
- الجمع - القدرة على تخزين جهاز داخل جهاز آخر
- الوراثة - القدرة على الحصول على خصائص وطرق من فئة (class) أخرى (أو عدة فئات)
- التصنيف - القدرة على كتابة وظائف أو طرق يمكن تشغيلها بطرق متعددة
يدعم ECMAScript هذه المتطلبات، لذا يمكن اعتباره لغته موجهة للأجهزة.
تشكيل الأجهزة
في ECMAScript، يتم تشكيل الأجهزة باستخدام الخصائص (الصفات)، التي يمكن أن تكون قيمًا بسيطة أو قيمًا مرجعية. إذا كانت الخصائص تحتوي على وظيفة، فإنها تُعتبر طريقة (method) للأداة، وإلا فإنها تُعتبر خصائص (properties) للأداة.
- الصفحة السابقة الإغلاق (closure)
- الصفحة التالية تطبيق الأداة