জাভাস্ক্রিপ্টে ফাংশনকে তৎক্ষণাৎ কল করা
এখন আমরা এমন একটি পদ্ধতি নিয়ে আলোচনা করব যা একটি ফাংশনকে তার ঘোষণার স্থানেই সাথে সাথে কল করতে দেয়। এই ধরনের কনস্ট্রাক্টকে Immediately Invoked Function Expression (IIFE) বলা হয়।
আসুন একটি উদাহরণ দেখি। ধরা যাক আমাদের কাছে নিম্নলিখিত ফাংশনাল এক্সপ্রেশন আছে:
let func = function() {
console.log('!');
};
func(); // আউটপুট দেবে '!'
এখন আমাদের ফাংশনটিকে একটি ভেরিয়েবলে অ্যাসাইন না করে এটিকে সাথে সাথে, "সেই স্থানেই" কল করা যাক। এটি করার জন্য ফাংশনের পরে বন্ধনী দিতে হবে:
+function() {
console.log('!'); // আউটপুট দেবে '!'
}();
এই ক্ষেত্রে প্লাস চিহ্নের উপস্থিতি একটি বাধ্যতামূলক শর্ত, কারণ এটি ছাড়া ফাংশনটি Function Declaration হয়ে যাবে, এবং সেগুলিকে সেই স্থানে (এমনকি নাম ছাড়া) কল করা যায় না। অবশ্যই, প্লাসের পরিবর্তে যেকোনো কিছুই হতে পারে, - মূল কথা হলো, আমাদের ফাংশনটি যেন একটি ফাংশনাল এক্সপ্রেশন হয়।
কোড রান না করে নির্ধারণ করুন যে কনসোলে কী আউটপুট হবে:
!function() {
console.log('!');
}();
কোড রান না করে নির্ধারণ করুন যে কনসোলে কী আউটপুট হবে:
function() {
console.log('!');
}();