الإحتفاظ بحالة مستقلة بإستخدام Closure
الدالة الداخلية بتقدر تستخدم متغيرات النطاق الخارجي حتى بعد إنتهاء تنفيذ الدالة الخارجية
إنشاء عداد
كل إستدعاء للدالة الناتجة بيعدل نفس المتغير المحفوظ
function createCounter() {
let count = 0;
return () => ++count;
}
const counter = createCounter();
console.log(counter());
console.log(counter());النتيجة
1
2إنشاء عدادين مستقلين
كل إستدعاء للدالة الخارجية بيجهز نطاق جديد
function createCounter() {
let count = 0;
return () => ++count;
}
const first = createCounter();
const second = createCounter();
first();
console.log(first());
console.log(second());النتيجة
2
1