জাভাস্ক্রিপ্টে ফাংশনের লেক্সিকাল পরিবেশ
একটি ফাংশনের জন্য সমস্ত বাহ্যিক, অ্যাক্সেসযোগ্য ভেরিয়েবল, কে এর লেক্সিকাল পরিবেশ বলা হয় (LexicalEnvironment)।
নিম্নলিখিত উদাহরণে ফাংশনটির জন্য দুটি ভেরিয়েবল অ্যাক্সেসযোগ্য:
num1 এবং num2, যা
আমাদের ফাংশনের লেক্সিকাল পরিবেশ গঠন করে:
let num1 = 1;
let num2 = 2;
function func() {
// ফাংশনটি num1 এবং num2 ভেরিয়েবল সম্পর্কে জানে
}
লেক্সিকাল পরিবেশ নিজেই একটি অভ্যন্তরীণ জাভাস্ক্রিপ্ট অবজেক্ট, যা আমাদের ফাংশনের সাথে সংযুক্ত। এই ক্ষেত্রে এটিকে নিম্নলিখিত形式ে উপস্থাপন করা যেতে পারে:
{num1: 1, num2: 2}
লেক্সিকাল পরিবেশের যেকোনো ভেরিয়েবলের মান সর্বদা সেই ভেরিয়েবলের বর্তমান মানের সমান:
let num1 = 1; // পরিবেশ {num1: 1}
let num2 = 2; // পরিবেশ {num1: 1, num2: 2}
// num1 ভেরিয়েবল পরিবর্তন করা যাক:
num1 = 123; // পরিবেশ {num1: 123, num2: 2}
function func() {
}
যখন আমরা একটি ফাংশনের ভিতরে কোনো ভেরিয়েবলে অ্যাক্সেস করার চেষ্টা করি, সেই ভেরিয়েবলটি প্রথমে ফাংশনের লোকাল ভেরিয়েবলগুলির মধ্যে খোঁজা হয় এবং সেখানে যদি এমন কোনো ভেরিয়েবল না পাওয়া যায়, তাহলে এটি ফাংশনের লেক্সিকাল পরিবেশে খোঁজা হয়।