JavaScript توابع JS Functions

Closure (بستار)

تابع داخلی به متغیرهای تابع بیرونی حتی بعد از پایان اجرای آن دسترسی دارد. پایه الگوهای کپسوله‌سازی، شمارنده‌ها و memoization در جاوااسکریپت است.

سینتکس

function outer() { let x = 0; return () => ++x; }

مثال کاربردی

function counter() {
  let count = 0;
  return () => ++count;
}
const next = counter();
next();   // 1
next();   // 2