জাভাস্ক্রিপ্ট ক্লোজার (Closure)
এটি অর্জন করতে জাভাস্ক্রিপ্ট ক্লোজার ব্যবহার করুন। ক্লোজার হলো একটি ফাংশন যা ডিক্লেয়ার করা স্কোপটি ব্যবহার করে যখন ইনভোক করা হয়, নাকি যেখানে ইনভোক করা হয় সেটি।
উদাহরণ
var myFunction = (function() {
function display() {
// 5 - প্রাইভেট লজিক
};
function innerDisplay(a) {
if (/* কিছু শর্ত */) {
// 1
// 2
display();
} else {
// 3
// 4
display();
}
}
return innerDisplay; // শুধু innerDisplay এক্সপোর্ট
})();
// ব্যবহার
myFunction(someValue);
ক্লোজারের ব্যবহারিক উদাহরণ
// কাউন্টার তৈরি (প্রাইভেট স্টেট)
function createCounter() {
let count = 0; // প্রাইভেট ভেরিয়েবল
return {
increment() { return ++count; },
decrement() { return --count; },
getValue() { return count; }
};
}
const counter = createCounter();
counter.increment(); // 1
counter.increment(); // 2
counter.getValue(); // 2
// count সরাসরি অ্যাক্সেসযোগ্য নয়
// ফ্যাক্টরি ফাংশন
function createMultiplier(factor) {
return function(number) {
return number * factor; // factor ক্লোজারে ক্যাপচারড
};
}
const double = createMultiplier(2);
const triple = createMultiplier(3);
double(5); // 10
triple(5); // 15
ক্লোজারের সুবিধা
- ডেটা এনক্যাপসুলেশন (প্রাইভেট ভেরিয়েবল)
- স্টেটফুল ফাংশন ফ্যাক্টরি
- কনফিগারেবল কলব্যাক তৈরি
- মেমোয়েশন (Memoization)