নিয়মিত ফাংশন বনাম তীর ফাংশন
একটি তীর ফাংশন সংক্ষিপ্তভাবে কোড লিখতে ব্যবহৃত হয়। উভয় ফাংশন নিয়মিত এবং তীর একই পদ্ধতিতে কাজ কিন্তু তাদের মধ্যে কিছু পার্থক্য আছে। আসুন সংক্ষেপে সেই পার্থক্যগুলো নিয়ে আলোচনা করি।
একটি তীর ফাংশনের সিনট্যাক্স
let x = (params) => { // code };
একটি নিয়মিত ফাংশনের সিনট্যাক্স
let x = function functionname(params){ // code };
"এই" কীওয়ার্ডের ব্যবহার
এটি তীর ফাংশনগুলিতে "এই" কীওয়ার্ডটি ব্যবহার করতে অক্ষম যেখানে নিয়মিত ফাংশনে এটি কোনও ঝামেলা ছাড়াই ব্যবহার করা যেতে পারে৷
উদাহরণ
নিম্নলিখিত উদাহরণে, উভয়ই নিয়মিত (আয়তক্ষেত্র) এবং তীর "num বস্তুর ভিতরে (বর্গাকার) ফাংশন ব্যবহার করা হয়েছে ", যা len(দৈর্ঘ্য) এবং bre(প্রস্থ) বৈশিষ্ট্য নিয়ে গঠিত। আমাদের লক্ষ্য হল বর্গক্ষেত্রের ক্ষেত্রফল বের করা (len*len) তীর ফাংশন ব্যবহার করে এবং আয়তক্ষেত্রের ক্ষেত্রফল (len*bre) নিয়মিত ব্যবহার করে ফাংশন কিন্তু যেহেতু "এটি " কীওয়ার্ড একটি তীর ফাংশনে কাজ করে না বর্গ এর ক্ষেত্রফলের মান "NaN হিসাবে ফেরত দেওয়া হয়৷ " যখন নিয়মিত ব্যবহার করে ফাংশন আমরা আয়তক্ষেত্রের একটি সঠিক এলাকা পেয়েছি আউটপুটে দেখানো হয়েছে।
<html> <body> <script> var num = { len: 12, bre: 13, square:() => { document.write(this.len * this.len); }, rectangle(){ document.write(this.len * this.bre); } }; num.square(); document.write("</br>"); num.rectangle(); </script> </body> </html>
আউটপুট
NaN 156
'নতুন' কীওয়ার্ডের ব্যবহার
তীর ফাংশন ৷ "নির্মাণযোগ্য নয়৷ " কিন্তু "কলযোগ্য৷ তাই কীওয়ার্ড "নতুন " এখানে কাজ করে না যেখানে নিয়মিত ফাংশন উভয়ই "কলযোগ্য৷ " এবং "নির্মাণযোগ্য৷ " অতএব "নতুন৷ " কীওয়ার্ড এখানে কাজ করে৷
৷উদাহরণ
নিম্নলিখিত উদাহরণে, "নতুন ব্যবহার করে৷ " কীওয়ার্ড কিছু আর্গুমেন্ট উভয় নিয়মিত পাস করা হয়েছে এবং তীর ফাংশন কিন্তু যেহেতু তীর ফাংশন "নির্মাণযোগ্য নয়৷ " আমরা একটি ত্রুটি পাব যেখানে আমরা নিয়মিত ফাংশন-এ একটি বৈধ আউটপুট পাব .
<html> <body> <script> var word = function(){ document.write(JSON.stringify(arguments)); /// executes '{"0":"Tutorix","1":"Tutorialspoint"}' as output }; new word("Tutorix","Tutorialspoint"); var newword = ()=> { document.write(JSON.stringify(arguments)); //executes 'newword is not a constructor' as output }; new newword("Tutorix","Tutorialspoint"); </script> </body> </html>