بسته شدن در جاوا اسکریپت چیست؟ (راهنمای 1 دقیقه ای)

Summarize this content to 400 words in Persian Lang
بستن یک مفهوم اساسی در جاوا اسکریپت است که می تواند مشکل به نظر برسد اما فوق العاده قدرتمند است. در اینجا یک راهنمای سریع برای درک آنها وجود دارد.
بسته شدن چیست؟
بسته شدن زمانی ایجاد میشود که یک تابع، متغیرها را از دامنه واژگانی خود، حتی پس از خروج آن محدوده، «به خاطر میآورد».
مثال:
function outerFunction(outerVariable) {
return function innerFunction(innerVariable) {
console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);
};
}
const myClosure = outerFunction(“Hello”);
myClosure(“World”);
// Output: Outer: Hello, Inner: World
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اینجا، innerFunction دسترسی دارد outerVariable از outerFunctionدامنه، حتی پس از آن outerFunction اجرا به پایان رسیده است
چرا بسته شدن مفید است؟
حریم خصوصی داده ها: ایجاد متغیرهای خصوصی.
function counter() {
let count = 0;
return function () {
count++;
return count;
};
}
const myCounter = counter();
console.log(myCounter()); // 1
console.log(myCounter()); // 2
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
کاربرد جزئی: آرگومان های تابع از پیش پر کردن.
function multiplyBy(multiplier) {
return function (number) {
return number * multiplier;
};
}
const double = multiplyBy(2);
console.log(double(5)); // 10
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
نتیجه گیری
بسته شدن به توابع اجازه می دهد تا محیط خود را به خاطر بسپارند. آنها برای متغیرهای خصوصی، کاربرد جزئی و بسیاری از الگوهای پیشرفته دیگر در جاوا اسکریپت عالی هستند.
بستن یک مفهوم اساسی در جاوا اسکریپت است که می تواند مشکل به نظر برسد اما فوق العاده قدرتمند است. در اینجا یک راهنمای سریع برای درک آنها وجود دارد.
بسته شدن چیست؟
بسته شدن زمانی ایجاد میشود که یک تابع، متغیرها را از دامنه واژگانی خود، حتی پس از خروج آن محدوده، «به خاطر میآورد».
مثال:
function outerFunction(outerVariable) {
return function innerFunction(innerVariable) {
console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);
};
}
const myClosure = outerFunction("Hello");
myClosure("World");
// Output: Outer: Hello, Inner: World
اینجا، innerFunction
دسترسی دارد outerVariable
از outerFunction
دامنه، حتی پس از آن outerFunction
اجرا به پایان رسیده است
چرا بسته شدن مفید است؟
حریم خصوصی داده ها: ایجاد متغیرهای خصوصی.
function counter() {
let count = 0;
return function () {
count++;
return count;
};
}
const myCounter = counter();
console.log(myCounter()); // 1
console.log(myCounter()); // 2
کاربرد جزئی: آرگومان های تابع از پیش پر کردن.
function multiplyBy(multiplier) {
return function (number) {
return number * multiplier;
};
}
const double = multiplyBy(2);
console.log(double(5)); // 10
نتیجه گیری
بسته شدن به توابع اجازه می دهد تا محیط خود را به خاطر بسپارند. آنها برای متغیرهای خصوصی، کاربرد جزئی و بسیاری از الگوهای پیشرفته دیگر در جاوا اسکریپت عالی هستند.