JavaScript-এ ফাংশনের প্রকারভেদ
JavaScript-এ ফাংশন অত্যন্ত গুরুত্বপূর্ণ। এগুলো আপনার কোডকে সুসংগঠিত করে। এগুলো পুনরাবৃত্তি রোধ করে। এগুলো প্রোগ্রাম রক্ষণাবেক্ষণ করা সহজ করে তোলে।
একটি ফাংশনকে একটি মেশিনের মতো ভাবুন। আপনি ইনপুট প্রদান করেন। এটি একটি কাজ সম্পন্ন করে। এটি আপনাকে একটি আউটপুট দেয়।
এখানে বিভিন্ন ধরণের ফাংশন দেওয়া হলো যা আপনার জানা প্রয়োজন:
• ফাংশন ডিক্লারেশন (Function Declaration) এগুলো হলো নামযুক্ত ফাংশন। এগুলো hoisting সমর্থন করে। Example: function greet() { console.log("Hello World"); }
• ফাংশন এক্সপ্রেশন (Function Expression) আপনি একটি ফাংশনকে একটি ভেরিয়েবলের মধ্যে সংরক্ষণ করেন। Example: const greet = function() { console.log("Hello"); };
• অ্যানোনিমাস ফাংশন (Anonymous Function) কোনো নাম নেই এমন একটি ফাংশন। এগুলো প্রায়শই একবার চলে এবং শেষ হয়ে যায়।
• অ্যারো ফাংশন (Arrow Function) ES6-এ প্রবর্তিত একটি সংক্ষিপ্ত সিনট্যাক্স। এগুলো React-এ বহুল ব্যবহৃত। Example: const add = (a, b) => a + b;
• প্যারামিটার এবং আর্গুমেন্ট (Parameters and Arguments) প্যারামিটার হলো প্লেসহোল্ডার। আর্গুমেন্ট হলো সেই প্রকৃত মান যা আপনি পাস করেন। Example: function greet(name) { // name is a parameter console.log(name); } greet("John"); // "John" is an argument
• রিটার্ন ফাংশন (Return Function) এমন একটি ফাংশন যা কলারের কাছে একটি মান ফেরত পাঠায়। এটি আপনাকে ফলাফলটি পুনরায় ব্যবহার করতে সাহায্য করে।
• কলব্যাক ফাংশন (Callback Function) একটি ফাংশন যা অন্য একটি ফাংশনে আর্গুমেন্ট হিসেবে পাস করা হয়।
• হায়ার অর্ডার ফাংশন (Higher Order Function) এমন একটি ফাংশন যা অন্য একটি ফাংশন গ্রহণ করে বা রিটার্ন করে।
• IIFE (Immediately Invoked Function Expression) এমন একটি ফাংশন যা তৈরি করার সাথে সাথেই রান করে।
• কনস্ট্রাক্টর ফাংশন (Constructor Function) একটি টেমপ্লেট থেকে অনেকগুলো অবজেক্ট তৈরি করতে ব্যবহৃত হয়।
• রিকার্সিভ ফাংশন (Recursive Function) এমন একটি ফাংশন যা নিজেকে নিজেই কল করে।
• জেনারেটর ফাংশন (Generator Function)
yield কিওয়ার্ড ব্যবহার করে একে একে মান তৈরি করে।
• অ্যাসিনক্রোনাস ফাংশন (Async Function)
API কলের মতো কাজের জন্য ব্যবহৃত হয়। এটি অপেক্ষার সময় (waiting periods) সামলানোর জন্য await কিওয়ার্ড ব্যবহার করার সুযোগ দেয়।
• নেস্টেড ফাংশন (Nested Function) একটি ফাংশনের ভেতরে সংজ্ঞায়িত করা অন্য একটি ফাংশন। ভেতরের ফাংশনটি বাইরের ফাংশনের ভেরিয়েবলগুলো দেখতে পারে।
• পিওর ফাংশন (Pure Function) এমন একটি ফাংশন যা একই ইনপুটের জন্য সর্বদা একই আউটপুট প্রদান করে। এটি বাইরের কোনো ডেটা পরিবর্তন করে না।
• রেস্ট প্যারামিটার ফাংশন (Rest Parameter Function) যেকোনো সংখ্যক আর্গুমেন্ট গ্রহণ করতে তিনটি ডট (...) ব্যবহার করে। এটি একটি শপিং বাস্কেটের মতো কাজ করে যা যেকোনো পরিমাণ আইটেম ধারণ করতে পারে।
Source: https://www.geeksforgeeks.org/javascript/functions-in-javascript/ Optional learning community: https://dev.to/annapoo/types-of-functions-in-javascript-105