একটি ফাংশন হলো পুনরায় ব্যবহারযোগ্য কোডের একটি ব্লক যা একটি নির্দিষ্ট কাজ সম্পন্ন করে।
একই কোড বারবার লেখার বদলে, আমরা এটি একবার একটি ফাংশনের ভেতরে লিখি এবং প্রয়োজনে কল করি।
function greet() {
console.log("Hello, world!");
}
greet(); // ফাংশনটি কল করুনপ্যারামিটার (প্লেসহোল্ডার) ব্যবহার করে আপনি একটি ফাংশনে মান পাস করতে পারেন।
function greet(name) {
console.log("Hello, " + name);
}
greet("Alice"); // আউটপুট: Hello, Alice
greet("Bob"); // আউটপুট: Hello, Bobফাংশন থেকে একটি মান ফেরত পাঠাতে return ব্যবহার করুন।
function add(a, b) {
return a + b;
}
let result = add(5, 3);
console.log(result); // আউটপুট: 8একবার return-এ পৌঁছালে, ফাংশন বেরিয়ে যায়।
ফাংশনও ভেরিয়েবলে অ্যাসাইন করা যায়।
const multiply = function(x, y) {
return x * y;
};
console.log(multiply(4, 5)); // আউটপুট: 20ফাংশন এক্সপ্রেশন লেখার একটি সংক্ষিপ্ত উপায়।
const square = (n) => {
return n * n;
};
console.log(square(6)); // আউটপুট: 36const square = n => n * n;আপনি প্যারামিটারের জন্য ডিফল্ট মান সেট করতে পারেন।
function greet(name = "Guest") {
console.log("Hello, " + name);
}
greet(); // আউটপুট: Hello, Guest
greet("John"); // আউটপুট: Hello, Johnএকটি ফাংশনের ভেতরে ঘোষিত ভেরিয়েবল বাইরে থেকে অ্যাক্সেস করা যায় না।
function sayHi() {
let message = "Hi!";
console.log(message); // ঠিক আছে
}
sayHi();
// console.log(message); // ❌ এরর: message is not definedফাংশন অন্য ফাংশনের ভেতরেও সংজ্ঞায়িত করা যায়।
function outer() {
function inner() {
console.log("Hello from inner");
}
inner();
}
outer(); // আউটপুট: Hello from innerনাম ছাড়া একটি ফাংশন — প্রায়ই ইভেন্ট হ্যান্ডলার বা কলব্যাকে ব্যবহৃত হয়।
setTimeout(function() {
console.log("Executed after 2 seconds");
}, 2000);একটি কলব্যাক হলো এমন একটি ফাংশন যা পরে চালানোর জন্য অন্য একটি ফাংশনে আর্গুমেন্ট হিসেবে পাস করা হয়।
function greetUser(name, callback) {
console.log("Hi " + name);
callback();
}
function showMessage() {
console.log("Welcome to our site!");
}
greetUser("Alice", showMessage);এমন একটি ফাংশন যা সংজ্ঞায়িত হওয়ার সাথে সাথেই চলে।
(function() {
console.log("IIFE runs instantly!");
})();এটি উপযোগী:
| ফিচার | স্টেটমেন্ট | নোট |
|---|---|---|
| ফাংশন ডিক্লারেশন | function add() {} | হয়েস্টেড (সংজ্ঞায়িত করার আগেও ব্যবহার করা যায়) |
| ফাংশন এক্সপ্রেশন | const add = function() {} | হয়েস্টেড নয় |
| অ্যারো ফাংশন | const add = (a, b) => a + b | সংক্ষিপ্ত, আধুনিক সিনট্যাক্স |
| ডিফল্ট প্যারামিটার | function(a = 1) {} | ফলব্যাক মান সেট করে |
| রিটার্ন ভ্যালু | return x * y | ফলাফল ফেরত পাঠায় |
| কলব্যাক ফাংশন | func(callback) | অ্যাসিঙ্ক/ইভেন্টের জন্য ব্যবহৃত হয় |
| IIFE | (function() {})(); | সাথে সাথে চলে |
isEven(number) লিখুন, যা সংখ্যাটি জোড় হলে true রিটার্ন করবে, নাহলে false।greetUser(name, time) লিখুন, যা সময়ের (AM/PM) উপর ভিত্তি করে "Good Morning/Evening, [name]" রিটার্ন করবে।