javascript-bootcamp

এক্সিকিউশন কন্টেক্সট কি?

এক্সিকিউশন কন্টেক্সট একটি এনভাইরনমেন্ট যেখানে জাভাস্ক্রিপ্ট কোড এক্সিকিউট করা হয়। যখনই জাভাস্ক্রিপ্টে কোন কোড রান করা হয়, এটি একটি এক্সিকিউশন কন্টেক্সটের মধ্যে রান করা হয়।

জাভাস্ক্রিপ্টে তিন ধরনের এক্সিকিউশন কন্টেক্সট আছেঃ-

নিম্নলিখিত কোড দেখুনঃ

let a = 7;

const multByTen = (a) => a * 10;

let results = multByTen(a);

console.log(results); // 70

উপরের কোডে লক্ষ্য করুনঃ

অনেক সহজ কোডটা তাই না? যাইহোক, বিহাইন্ড দ্যা সিন জাভাস্ক্রিপ্ট অনেক কিছু করে। ইতিমধ্যে আমরা এক্সিকিউশন কন্টেক্সট সম্পর্কে জেনে গেছি। কিন্তু প্রতিটি এক্সিকিউশন কন্টেক্সটে দুটি করে phases আছেঃ ১। creation phase এবং ২। execution phase।

১। Creation phase

আমাদের উদাহরণে, creation phase - এ জাভাস্ক্রিপ্ট ইঞ্জিন গ্লোবাল এক্সিকিউশন কন্টেক্সটে ভ্যারিয়েবল a ও results এবং ফাংশন ডিক্লেয়ারেশন multByTen() স্টোর করে। এছাড়াও, এটি ভ্যারিয়েবল a এবং results কে undefined হিসাবে ইনিশিয়ালাইজ করে।

Global Execution Context (Creation Phase Browser)

Creation phase এর পর, গ্লোবাল এক্সিকিউশন কন্টেক্সট execution phase শুরু করে।

২। Execution phase

Execution phase - এ, জাভাস্ক্রিপ্ট ইঞ্জিন লাইন বাই লাইন কোড এক্সিকিউট করে। এই phase -এ, এটি ভ্যারিয়েবলের মান অ্যাসাইন করে এবং ফাংশন কল এক্সিকিউট করে।

Global Execution Context (Execution Phase Browser)

আমরা আগেই জেনেছি প্রতিটি ফাংশন কলের জন্য জাভাস্ক্রিপ্ট ইঞ্জিন একটি নতুন ফাংশন এক্সিকিউশন কন্টেক্সট তৈরি করে। ফাংশন এক্সিকিউশন কন্টেক্সট গ্লোবাল এক্সিকিউশন কন্টেক্সটের মতই কিন্তু ফাংশন এক্সিকিউশন কন্টেক্সট গ্লোবাল অবজেক্ট তৈরি করার পরিবর্তে এটি arguments অবজেক্ট তৈরি করে যা ফাংশনে পাস করা সকল প্যারামিটারের একটি রেফারেন্স ধারণ করে:

Function Execution Context (Creation Phase Browser)

আমাদের উদাহরণে, ফাংশন এক্সিকিউশন কন্টেক্সট arguments অবজেক্ট তৈরি করে যা ফাংশনে পাস করা সকল প্যারামিটারকে নির্দেশ করে, this এর মান হিসাবে গ্লোবাল অবজেক্টে window কে সেট করে এবং a প্যারামিটার কে undefined হিসাবে ইনিশিয়ালাইজ করে।

Function Execution Context (Execution Phase Browser)

ফাংশন এক্সিকিউশন কন্টেক্সটে Execution phase চলার সময়, এটি a প্যারামিটারে 7 অ্যাসাইন করে এবং ফলাফল (70) গ্লোবাল এক্সিকিউশন কন্টেক্সটের results ভ্যারিয়েবলে রিটার্ন করেঃ

Global Execution Context (Execution Phase Browser)

আরও বাংলা টিউটোরিয়াল

বাংলা ভিডিও টিউটোরিয়াল