دامنه متغیرها (Scope) و مفهوم Closure





دامنه متغیرها (Scope) و مفهوم Closure

مفهوم دامنه متغیرها (Scope)

در برنامه نویسی، دامنه متغیرها به محدوده‌ای اطلاق می‌شود که یک متغیر در آن موجود است و قابل دسترسی است. دامنه متغیرها تعیین می‌کند که چگونه متغیرها در برنامه شما قابل دسترسی هستند و چگونه می‌توانند استفاده شوند.

انواع دامنه متغیرها

در زبان‌های برنامه نویسی، دامنه متغیرها می‌تواند به چندین نوع تقسیم شود:

  • Global Scope: متغیرهایی که در سطح بالایی از برنامه تعریف می‌شوند و در تمام قسمت‌های برنامه قابل دسترسی هستند.
  • Local Scope: متغیرهایی که در یک بلوک کد مشخص تعریف می‌شوند و فقط در آن بلوک قابل دسترسی هستند.
  • Function Scope: متغیرهایی که درون یک تابع تعریف می‌شوند و فقط در آن تابع قابل دسترسی هستند.

مفهوم Closure

در برنامه‌نویسی، Closure به یک تابع اشاره دارد که دسترسی به متغیرهای خارجی خود را دارد، حتی پس از اینکه تابع جاری اجرا شده باشد و محیط خود را ترک کرده باشد.

استفاده از Closure

استفاده از Closure در برنامه‌نویسی، به شما این امکان را می‌دهد که اطلاعات را به صورت خصوصی در یک تابع نگه دارید و از آن‌ها در زمان‌های مختلف استفاده کنید، بدون اینکه این اطلاعات به صورت عمومی در دسترس باشند.


function createCounter() {
  let count = 0;
  
  return function() {
    count++;
    return count;
  };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3

در مثال بالا، تابع createCounter یک Closure ایجاد می‌کند که به متغیر count دسترسی دارد و هر بار که اجرا می‌شود، مقدار count را افزایش می‌دهد و برمی‌گرداند.