Hi everyone! I'm the author of code.mu :)
I'd love to chat with my non-Russian audience. I'm looking for your feedback on the site and the translation quality. Let's chat:)
⊗jsPmFTNFE 235 of 505 menu

জাভাস্ক্রিপ্টে নামযুক্ত ফাংশন এক্সপ্রেশন

ধরুন আমাদের কাছে এইরকম একটি ফাংশন এক্সপ্রেশন আছে:

let test = function() { console.log('!'); }; test(); // আউটপুট দেবে '!'

আসুন আমাদের ফাংশনটিকে একটি নাম দিন func:

let test = function func() { console.log('!'); }; test();

আপনি ইতিমধ্যেই জানেন, এই নাম দিয়ে ফাংশনে অ্যাক্সেস করা যাবে না:

let test = function func() { console.log('!'); }; test(); // আউটপুট দেবে '!' func(); // একটি ত্রুটি নিক্ষেপ করবে

যদি এটি অ্যাক্সেসযোগ্য না হয় তবে ফাংশনের নাম দেওয়া কেন? বিষয়টি হল, এই নামটি ফাংশনের বাইরে থেকে অ্যাক্সেসযোগ্য হবে না, কিন্তু এই ফাংশনের ভিতরে অ্যাক্সেসযোগ্য হবে।

আসুন পরীক্ষা করি:

let test = function func() { console.log(func); // ফাংশনটি তার নিজের সোর্স কোড আউটপুট দেবে }; test(); // ফাংশন কল করি

আসুন আমাদের ফাংশনটি তার নিজের ভিতরেই কল করি:

let test = function func() { console.log('!'); // '!' আউটপুট দেই func(); // নিজেকে কল করি }; test();

যদি এই কোডটি চালানো হয়, তাহলে কনসোলে অসীম সংখ্যক আউটপুট দেখা যাবে।

আসলে আমাদের ফাংশনটি তার নিজের ভিতরে শুধুমাত্র func হিসেবেই নয়, বরং test হিসেবেও কল করা যেতে পারে:

let test = function func() { console.log('!'); test(); // নিজেকে কল করি }; test();

তাহলে পার্থক্যটা কী? পার্থক্য হল নাম test - এটি কেবল একটি ভেরিয়েবল। স্ক্রিপ্ট চলাকালীন, আমাদের ফাংশনটি অন্য ভেরিয়েবলে অ্যাসাইন করা যেতে পারে বা প্যারামিটার হিসেবে পাস করা যেতে পারে - এই ক্ষেত্রে test ভেরিয়েবল এবং ফাংশনের মধ্যে সংযোগটি নষ্ট হয়ে যেতে পারে।

অন্যদিকে, func নামটি বিশেষভাবে ফাংশনের সাথে শক্তভাবে বাঁধা থাকে যাতে আমাদের ফাংশনটি তার নিজের ভিতর থেকে অ্যাক্সেস করা যায়।

ফাংশনের নাম সহ এই ধরনের Function Expression কে নামযুক্ত ফাংশন এক্সপ্রেশন বলা হয়।

বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন