TGViewer
CodeVerse | دنیای برنامه نویسان CodeVerse | دنیای برنامه نویسان @codeverse_dev · 1.06K subscribers
Post #561 390
یه قابلیت عجیب JavaScript به اسم Closure 👀

فرض کن این کد رو داریم:

function counter() {
let count = 0;

return function () {
count++;
return count;
};
}

const increment = counter();

console.log(increment()); // 1
console.log(increment()); // 2
console.log(increment()); // 3

شاید سوالت این باشه:

چطور count بعد از اجرای ()counter هنوز وجود داره؟ 🤔

اینجا Closure وارد میشه.

تابعی که داخل counter ساخته شده، به متغیرهای Scope بیرونی خودش دسترسی رو حفظ می‌کنه؛ حتی وقتی اجرای تابع بیرونی تموم شده.

یعنی این تابع:

function () {
count++;
return count;
}

هنوز به count دسترسی داره.

این قابلیت Closure کجا به درد می‌خوره؟

یکی از کاربردهای مهمش ساختن Private State هست:

function createUser() {
let password = "123456";

return {
checkPassword(value) {
return value === password;
}
};
}

const user = createUser();

user.checkPassword("123456"); // true

اینجا password مستقیماً از بیرون قابل دسترسی نیست:

user.password
// undefined

ولی متد checkPassword همچنان بهش دسترسی داره.

🔥 در واقع Closure یکی از پایه‌های مهم مفاهیمی مثل:

* Factory Functions
* Data Privacy
* Callbacks
* Event Handlers
* Function Currying

در JavaScript محسوب میشه.

پس Closure فقط یه مفهوم تئوری نیست؛ توی کد واقعی دائماً باهاش سروکار داری.

@CodeVerse_dev
  • 👍 9
  • ❤ 2
More from @codeverse_dev
  1. Oct 7, 2026👨‍💻 برنامه‌نویسی با AI راحت‌تر شده؛ پس چرا بعضی Developerها خسته‌تر شده‌اند؟ طبق نظرسنجی…
  2. Oct 7, 2026🚨 وردپرس 7.1.3 منتشر شد؛ این یکی را عقب نینداز وردپرس دیروز نسخه 7.1.3 را منتشر کرد؛ یک آ…
  3. Oct 6, 2026شرکت Google وارد یک درگیری جدی با ناشران شده ⚖️ رگولاتور رقابت لهستان اعلام کرده Google را…
  4. Oct 6, 2026اگر Windows 11 داری، قبل از نصب بعضی آپدیت‌ها حواست باشد ⚠️ مایکروسافت تأیید کرده آپدیت پی…
  5. Oct 6, 2026اگر Chrome استفاده می‌کنی، این آپدیت را جدی بگیر ⚡ نسخه Stable مرورگر Chrome برای دسکتاپ ب…
  6. Oct 6, 2026🖥 سازنده محتوایی؟ ویندوزت بدون این ۵ نرم‌افزار نصفه‌ست! خب راستشو بخوای، من خودم تا چند و…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →