انتقل إلى محتوى الدرس

Variable Lifetime Global vs Local عمر المتغيرات العامة والمحلية

أتقن المغلفات البرمجية Closures والبيئة المعجمية في JavaScript للاحتفاظ بالحالة الخاصة وبناء العدادات المحمية ومعالجة فخ الحلقات التكرارية عبر let.
1 صفوف تعليمية
جافا سكريبت
4,233 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تأمل معضلة العداد الشهيرة: إذا وضعت let count = 0 في النطاق العام، استطاع أي سطر بالصفحة تخريبه وإسناد قيمة خاطئة له. وإن وضعته داخل دالة عادية، تصفّر وعاد إلى 0 في كل استدعاء! وهنا تحل المغلفات (Closures) المشكلتين معاً بكفاءة باهرة:

طريقة تخزين الحالةهل تحتفظ بالقيمة بين الاستدعاءات؟هل هي محمية من العبث الخارجي؟
متغير عام بالملفنعم، يبقى طوال فتح الصفحةلا، أي كود خارجي يمكنه تغييره بالخطأ
متغير محلي عاديلا، يُنشأ من الصفر عند كل استدعاءنعم، معزول داخل الدالة
متغير داخل Closureنعم، محفوظ في البيئة المعجمية المرافقةنعم، لا يُقرأ ولا يُعدل إلا عبر الدالة المرجعة