ما هو الإغلاق (Closure)
الإغلاق دالّة تحتفظ بالوصول إلى النطاق المعجمي الذي أُنشئت فيه، حتى عند استدعائها في موضع آخر.
function counter() {
let n = 0;
return function () {
return ++n;
};
}
const inc = counter();
inc(); // 1
inc(); // 2
الدالّة الداخلية تتذكّر n حتى بعد انتهاء counter().
أين تقابلها
- نمط الوحدات (Module Pattern) — حالة خاصّة.
- الـCallbacks مع بيانات ملتقطة.
- خطّافات React (يستخدم
useStateإغلاقًا).