تطبيقات الأشياء ECMAScript
- الصفحة السابقة البرمجة الموجهة للكائنات
- الصفحة التالية نوع الكائن
إن إنشاء العناصر وإزالتها يحدث أثناء تنفيذ JavaScript، وفهم معنى هذا النمط مهم جدًا لفهم اللغة بأكملها.
البيان والإصدار
يتم إنشاء العناصر باستخدام كلمة المفتاح new متبوعة باسم الفئة التي يتم استبدالها:
var oObject = new Object(); var oStringObject = new String();
السطر الأول يُنشئ مثالاً من فئة Object ويخزنه في المتغير oObject. السطر الثاني يُنشئ مثالاً من فئة String ويخزنه في المتغير oStringObject. إذا لم يكن هناك أي معاملات للوصول إلى المكونات، فإن الأقواس ليست ضرورية. لذلك يمكن إعادة كتابة السطور السابقة بالشكل التالي:
var oObject = new Object; var oStringObject = new String;
مراجع العنصر
في الفصول السابقة، قمنا بشرحمفهوم أنواع المراجعفي ECMAScript، لا يمكن الوصول إلى التمثيل الفيزيائي للعنصر، بل يمكن الوصول فقط إلى مراجع العنصر. كل مرة يتم إنشاء عنصر، يتم تخزين مراجع العنصر في المتغير، وليس العنصر نفسه.
إلغاء الاعتماد على العنصر
تمتلك ECMAScript برنامج إدارة النفايات (garbage collection routine) غير مفيد، مما يعني أن لا يلزم إزالة العناصر بشكل خاص لإطلاق الذاكرة. عند عدم وجود مراجع للاعتماد على العنصر، يُعتبر العنصر مستغنى عن الاستخدام (dereference). عند تشغيل برنامج إدارة النفايات، يتم تدمير جميع العناصر المستغنى عن الاستخدام. في كل مرة تنتهي من تنفيذ كود الدالة، يتم تشغيل برنامج إدارة النفايات لإطلاق جميع المتغيرات المحلية، بالإضافة إلى بعض الحالات غير المتوقعة الأخرى، يتم تشغيل برنامج إدارة النفايات أيضًا.
يمكن إلغاء الكائن بشكل قسري عن طريق إلغاء جميع المراجع له. على سبيل المثال:}
var oObject = new Object; // تقوم هنا بشيء باستخدام الكائن oObject = null;
عند تعيين oObject إلى null، لا يوجد مرجع لأول كائن تم إنشاؤه.
كلما تم استخدام كائن، يتم إلغاؤه لتحرير الذاكرة، وهي عادة جيدة. هذا يضمن أيضًا عدم استخدام الكائنات التي لا يمكن الوصول إليها بعد الآن، مما يمنع ظهور أخطاء في تصميم البرنامج. بالإضافة إلى ذلك، لا تحتوي المتصفحات القديمة (مثل IE/MAC) على نظام لجمع الوحدات غير المستخدمة بشكل كامل، لذا قد لا يتم تدمير الكائن بشكل صحيح عند إزالة الصفحة. أفضل طريقة لضمان استخدام الذاكرة بشكل صحيح هي إلغاء الكائن وكل خصائصه.
ملاحظة:تكون حذرًا عند إلغاء جميع المراجع لكائن. إذا كان لدى الكائن مراجعان أو أكثر، فيجب إلغاء جميع المراجع لتأمين إلغاء الكائن بشكل صحيح.
التعيين المبكر والتعيين المتأخر
ما يعنيه التعيين هو طريقة ربط واجهة الكائن بالكائن المحدد.
التعيين المبكر (early binding) يعني تعريف الخصائص والطرق للكائن قبل إنشائه، مما يسمح للمبرمج أو الماكينة بتحويل الشيفرة الآلية مسبقًا. في لغات مثل Java وVisual Basic، يمكن استخدام IntelliSense (الذي يوفر قائمة بالخصائص والطرق في الكائن) في بيئة التطوير بفضل التعيين المبكر. ECMAScript لغة غير نوعية، لذا لا يدعم التعيين المبكر.
من جهة أخرى، التعيين المتأخر (late binding) يعني عدم معرفة الماكينة أو المبرمج عن نوع الكائن قبل تشغيله. باستخدام التعيين المتأخر، لا تحتاج إلى التحقق من نوع الكائن، بل فقط التحقق مما إذا كان الكائن يدعم الخصائص والطرق. جميع المتغيرات في ECMAScript تستخدم طريقة التعيين المتأخر. مما يسمح بإجراء العديد من عمليات الكائنات دون أي عقوبة.
- الصفحة السابقة البرمجة الموجهة للكائنات
- الصفحة التالية نوع الكائن