জাভাস্ক্রিপ্টে ক্লোজার
আসুন এখন ক্লোজার ধারণাটি অধ্যয়ন করি (closure)। আসলে আপনি ইতিমধ্যেই এই ধারণার সাথে পরিচিত, অবশিষ্ট থাকে শুধু সঠিক পরিভাষা শেখা।
সুতরাং, একটি ক্লোজার হল একটি ফাংশন তার সমস্ত বাহ্যিক ভেরিয়েবল সহ যা এটির জন্য অ্যাক্সেসযোগ্য। অথবা, অন্য কথায়, একটি ক্লোজার হল একটি ফাংশন তার নিজের লেক্সিকাল এনভায়রনমেন্ট সহ।
জাভাস্ক্রিপ্টে প্রায়শই, "ফাংশনের ক্লোজার" বলতে এই ফাংশনটিকেই বোঝায় না, বরং precisely এর বাহ্যিক ভেরিয়েবলগুলিকে বোঝায়। যদি কোনো ফাংশন তার লেক্সিকাল এনভায়রনমেন্ট থেকে একটি ভেরিয়েবল পায়, তবে বলা হয় "ভেরিয়েবলটি নেওয়া হয় ক্লোজার থেকে"।
আসুন আমরা আগের পাঠে তৈরি করা কোডটি স্মরণ করি:
function test() {
let num = 1;
return function() {
console.log(num);
}
}
let func = test();
func(); // আউটপুট হবে 1
এই ক্ষেত্রে এটা বলা যায় যে ফাংশনটি
func ভেরিয়েবলটির মান পায়
num ক্লোজার থেকে। এটাও বলা যায়,
যে ফাংশন func ভেরিয়েবলটির মান সংরক্ষণ করে
num ক্লোজারে।