شرح صفوف ومحتوى الفقرة
يختلف تعامل .call() مع تمرير null أو undefined أو القيم الأولية بحسب تفعيل الوضع الصارم "use strict";:
- في الوضع غير الصارم القديم: تُستبدل
nullوundefinedخفيةً بكائن النافذة العامwindow، وتُغلّف الأرقام والنصوص داخل كائنات مغلفة مؤقتة. - في الوضع الصارم الحديث: تبقى
thisمساويةً للقيمة الممررة حرفياً دون تحوير ولا تغليف، مما يحمي النطاق العام من التعديل بالخطأ.
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس مفهوم سياق التنفيذ this، والتشغيل الفوري بتحديد السياق والوسائط المفردة عبر fn.call(obj, a, b)، واستعارة الدوال بين الكائنات، وحماية الوضع الصارم من السقوط نحو الكائن العام. الخطوة التالية: انتقل إلى درس «استدعاء الدوال والرفع في JavaScript» لمقارنة أنماط الاستدعاء الأربعة والدوال ذاتية التشغيل والعودية.