DEV Community

Cover image for জাভাস্ক্রিপ্ট ফাংশন কী? (জয়)
Mehedi Hasan Joy
Mehedi Hasan Joy

Posted on

জাভাস্ক্রিপ্ট ফাংশন কী? (জয়)

জাভাস্ক্রিপ্ট ফাংশন কী? (জয়)
জাভাস্ক্রিপ্ট ফাংশন হলো প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ অংশ। আপনি যদি একেবারে নতুন হন এবং কোনো ধারণা না থাকে, তবে চিন্তার কিছু নেই। এরপর আশা করি আপনার কোন ভয় আপনার থাকবেনা!

ফাংশন কী?
ফাংশন হলো এমন একটি কোডের ব্লক যা একটি নির্দিষ্ট কাজ সম্পন্ন করে। এটিকে আপনি একটি জাদুর বাক্স হিসাবে কল্পনা করতে পারেন, যেখানে আপনি কিছু ইনপুট দিবেন এবং এটি কাজ করে ফলাফল আউটপুট পাবেন।বিষয়টা একটু সহজ ভাবে বলতে গেলে মনে করুন,একবার আপনি বাক্সটি তৈরি করলেন এবং আপনি এটি বারবার ব্যবহার করতে চান।
যেমন: ধরুন, আপনার মা প্রতিদিন সুস্বাদু খাবার রান্না করেন। প্রতিবার, তিনি পেঁয়াজ কাটেন, মশলা মেশান এবং রান্না করেন। এখন, যদি তাঁর কাছে একটি জাদুর বাক্স থাকত যেখানে তিনি শুধু লিখতেন "মুরগির কারি রান্না করো" এবং খাবার প্রস্তুত হয়ে যেত, তাহলে সময় এবং পরিশ্রম কতটা বাঁচত!
জাভাস্ক্রিপ্টে, ফাংশন সেই জাদুর বাক্স।

জাভাস্ক্রিপ্টে ফাংশন কিভাবে কাজ করে
১. জাদুর বাক্স তৈরি করা(ফাংশন ডিফাইন করা):
প্রথমে, আমরা ফাংশন ডিফাইন করি যেন জাভাস্ক্রিপ্ট জানে কী কাজ করতে হবে।
উদাহরণ:


function sayHello() {
    console.log("হ্যালো, কেমন আছেন?");
}
Enter fullscreen mode Exit fullscreen mode

এখানে:
function: ফাংশন ডিফাইন করার জন্য কিওয়ার্ড( এটা লিখতে হবেই)।
sayHello: ফাংশনের নাম (আপনি যেকোনো অর্থবহ নাম দিতে পারেন)।
{}: এই কার্লি ব্রেসের ভেতরেই ফাংশনের কি কাজ করবে সেটা লেখা হয়।

২. ফাংশন কল করা (জাদুর বাক্স খোলা):
ফাংশন ডিফাইন করার পরে, আপনাকে এটি কল করতে হবে যেন এটি কাজ করে।
উদাহরণ:
sayHello(); // আউটপুট: হ্যালো, কেমন আছেন?
যখনই আপনি sayHello() লিখবেন, ফাংশনটি চালু হবে এবং "হ্যালো, কেমন আছেন?" প্রিন্ট করবে।

ফাংশনের ভিন্ন ধরন
১. প্যারামিটারযুক্ত ফাংশন (ইনপুটসহ জাদুর বাক্স):
যখন ফাংশন কোনো ডেটা নেয় এবং তার উপর কাজ করে।
উদাহরণ:

function greet(name) {
    console.log("হ্যালো, " + name + "! কেমন আছো?");
}

Enter fullscreen mode Exit fullscreen mode

greet("রাহুল"); // আউটপুট: হ্যালো, রাহুল! কেমন আছো?
এখানে name হলো প্যারামিটার, যা আপনি ফাংশনে ইনপুট দেন।
২. রিটার্নযুক্ত ফাংশন (ফলাফল দেয়ার জাদুর বাক্স):
যখন ফাংশন কোনো ফলাফল প্রয়োজনীয় জায়গায় ফেরত পাঠায়।
উদাহরণ:

function addNumbers(a, b) {
    return a + b;
}
let sum = addNumbers(5, 7);
console.log(sum); // আউটপুট: ১২
return কিওয়ার্ড ফাংশনের ফলাফল ফেরত দেয়।

Enter fullscreen mode Exit fullscreen mode

ফাংশনের আরেকটি উদাহরণ দিয়ে বোঝার চেষ্টা করি
ধরুন, আপনি একটি চায়ের দোকান চালান। প্রতিবার আপনাকে বলতেই হয়:
চা বানাও
চিনি দাও
দুধ দাও
স্টির করো

আপনি যদি এটি একটি ফাংশনে লিখে রাখেন, তাহলে কী সহজ হবে না?

example 1:

function makeEasyTea(){
console.log("পানি গরম করো")
console.log("চিনি দাও")
console.log("মসলা দাও")
console.log("চা পাতা দাও")
console.log("আপনার চা হয়ে গেছে")

}
Enter fullscreen mode Exit fullscreen mode
makeEasyTea();// output:
 পানি গরম করো,
 চিনি দাও
 মসলা দাও
 চা পাতা দাও
 আপনার চা হয়ে গেছে
Enter fullscreen mode Exit fullscreen mode

এখন আপনি শুধু makeEasyTea() কল করবেন এবং এখানে আপনি তাকে বলে দিছেন চা করতে সে তার মতো করে চা তৈরি করে দিবে একটু পরে তারমত করে চা তৈরি হয়ে যাবে। কী মজার, তাই না?
এখন আপনি চাচ্ছেন আমি রং চা খাবোনা আমি খাবো দুধ খাবো,আপনার কোন একব্যক্তি বললো আমি রং চাই খাবো, এমতবস্থায় কি করবেন? এজন্য ও আছে ফাংশনের আরেক মজার উপায়। আপনি জাদুর বাক্সকে বলবেন, চা করে দাও তখন এই জাদুর বাক্স কথাও বলতে পারে প্রতি বার যখন আপনি একে কিছু করতে বলবে তখন সে বলে আমাকে কিছু দাও যদি না দাও তাহলে আমি নিজের মতো করে করব।
কিন্তু আপনি তো তার মতো করে তৈরি করা চা খাবেন না , যে রং চা করে কিন্তু আপনি খাবেন দুধ চা তাই এবার আপনি তাকে বলে দিবেন আমি দুধ চা খাবো ,ব্যাচ। চলুন দেখি

function makeTea(এইধরনের) {
    console.log(এইধরনের + " চা বানানো হচ্ছে...");
}
Enter fullscreen mode Exit fullscreen mode

এখন আপনি একে কল করার সময় বলে দিবেন কি চা খাবেন যেমন

makeTea("দুধের") আবার বললেন makeTea("রং")
makeTea("দুধের"); // আউটপুট: দুধের চা বানানো হচ্ছে...
makeTea("রং"); // আউটপুট: রং চা বানানো হচ্ছে...

ফাংশন হলো আপনার কোডের মস্তিষ্ক। এটি কাজ সহজ করে, সময় বাঁচায় এবং প্রোগ্রামকে আরও গোছানো করে। আপনি চায়ের দোকান চালান বা যোগফল বের করুন, ফাংশন সবসময় সাহায্য করবে।
তাই, কোডে কোনো কাজ বারবার করতে হলে মনে রাখুন: "হাত দিয়ে করব কেন? ফাংশন ব্যবহার করব!" 😄

Top comments (0)