شرح صفوف ومحتوى الفقرة
ينشئ كل استدعاء لدالة مصنعية مثل createCounter() بيئة مغلف مستقلة تماماً في الذاكرة؛ فاستدعاء counterA() يزيد عداده الخاص دون أي تأثير على counterB()، ولا يملك أي كود خارجي وسيلة للوصول المباشر إلى المتغير count أو تخريبه.
JavaScript
function createCounter(start) {
let count = start;
return function () {
count += 1;
return count;
};
}
const nextTicket = createCounter(100);
document.getElementById('cnt-cls').textContent = nextTicket() + ' -> ' + nextTicket();