برچسب: Closures

کلوژر (Closure) در جاوااسکریپت؛ وقتی توابع، گذشته‌شان را فراموش نمی‌کنند!

کلوژر (Closure) در جاوااسکریپت؛ وقتی توابع، گذشته‌شان را فراموش نمی‌کنند!

احتمالاً برای شما هم پیش آمده که در جمع‌های دوستانه یا جلسات تیمی، خاطره‌ای قدیمی را تعریف کنید که فقط خودتان و رفقای صمیمی‌تان از جزئیاتش باخبر هستید. در جاوااسکریپت هم مکانیزم مشابه‌ای وجود دارد که به توابع اجازه می‌دهد «خاطرات» و محیطی که در آن متولد شده‌اند را برای همیشه به خاطر بسپارند؛ حتی اگر فرسنگ‌ها از آن محیط دور شده باشند! به این جادو در جاوااسکریپت، کلوژر (Closure) می‌گویند.

سامان
سامان امین الرعایایی
کلوژر جادوی حافظه پنهان در توابع : JavaScript Closures

کلوژر جادوی حافظه پنهان در توابع : JavaScript Closures

Closure (بستار) یکی از قدرتمندترین و در عین حال ظریف‌ترین مفاهیم جاوااسکریپت است. به زبان خیلی ساده: هر زمان که یک تابع درونی به متغیرهای تابع بیرونی خود دسترسی داشته باشد، یک Closure شکل گرفته است. نکات کلیدی این مقاله: حافظه ماندگار: کلوژر اجازه می‌دهد متغیرهای یک تابع حتی پس از پایان اجرای آن، زنده بمانند. حریم خصوصی: بهترین ابزار برای ساخت متغیرهای Private و جلوگیری از آلودگی Scope جهانی است. کاربرد واقعی: از ساخت «توابع کارخانه‌ای» تا مدیریت وضعیت در فریم‌ورک‌هایی مثل React.

سامان
سامان امین الرعایایی