JavaScript Function Return
ফাংশন থেকে মান ফেরত
একটি ফাংশন কোডে একটি মান ফেরত দিতে পারে যা এটিকে বলে।
returnএকটি ফাংশন থেকে একটি মান পাস করার জন্য স্টেটমেন্ট ব্যবহার করা হয়।
উদাহরণ
function sayHello() {
return "Hello World";
}
let message = sayHello();
console.log(message); // "Hello World"
রিটার্ন স্টেটমেন্টের উদ্দেশ্য:
returnবিবৃতিগুলি ফাংশনগুলিকে দরকারী করে তোলে কারণ তারা:
- গণনার ফলাফল প্রদান করে
- ডেটা প্রক্রিয়াকরণের পরে প্রদান করুন
- একটি অপারেশনের ফলাফল নির্দেশ করে
- মানগুলিকে ভেরিয়েবলগুলিতে সংরক্ষণ করার অনুমতি দেয়
The return Statement
জাভাস্ক্রিপ্ট একটিreturnবিবৃতিটি পৌঁছে গেলে, ফাংশনটি কার্যকর করা বন্ধ করে দেয়।
returnএর পরের মানটি কলারকে ফেরত দেওয়া হয়।
উদাহরণ
ফাংশন sayHello() { "হ্যালো ওয়ার্ল্ড" ফেরত দিন; } let message = sayHello(); console.log(বার্তা); // "হ্যালো ওয়ার্ল্ড" // পরিবর্তনশীল বার্তাটিতে এখন রিটার্ন মান রয়েছে
রিটার্নের তাৎক্ষণিক প্রভাব হল:
returnঅবিলম্বে রিপোর্ট করুন:
- ফাংশন কার্যকর করা বন্ধ করে
- কলকারীর কাছে নির্দিষ্ট মান পাস করে
returnএর পরে কোনো কোড কার্যকর করা হবে না
গণনা করা মান ফেরত দেওয়া হচ্ছে
বেশিরভাগ ফাংশন একটি গণনা বা অপারেশনের ফলাফল প্রদান করে।
উদাহরণ
ফাংশন গুন (a, b) { ফেরত a * b; } যাক ফলাফল = গুণ করুন(4, 5); console.log(ফলাফল); // 20 // অন্য গণনায় ব্যবহার করুন যাক মোট = গুণ করুন (4, 5) + গুণ করুন (2, 3); console.log(মোট); // 26
প্রত্যাবর্তিত মানটি যেখানে একটি মান প্রত্যাশিত সেখানে ব্যবহার করা যেতে পারে।
আরো উদাহরণ:
ফাংশন বর্গ (সংখ্যা) { ফেরত নম্বর * নম্বর; } ফাংশন ইভেন (সংখ্যা) { রিটার্ন নম্বর % 2 === 0; } ফাংশন getDiscountPrice(মূল্য, ছাড় শতাংশ) { ফেরত মূল্য - (মূল্য * ছাড় শতাংশ / 100); } // ব্যবহার: console.log(বর্গাকার(5)); // 25 console.log(isEven(4)); // সত্য console.log(getDiscountPrice(100, 20)); // 80
অভিব্যক্তিতে রিটার্ন মান ব্যবহার করা
আপনি অন্য এক্সপ্রেশনের ভিতরে একটি ফাংশন কল ব্যবহার করতে পারেন।
উদাহরণ
ফাংশন যোগ(a, b) { ফেরত a + b; } যাক মোট = যোগ করুন (2, 3) * 10; console.log(মোট); // 50 // আরো জটিল উদাহরণ: let result = add(add(2,3), add(4,5)); console.log(ফলাফল); // 14 (2+3=5, 4+5=9, 5+9=14) গড় গড় = যোগ করুন (10, 20) / 2; console.log(গড়); // 15
সমন্বয় ফাংশন:
একটির আউটপুট অন্যটির ইনপুট হিসাবে ব্যবহার করে ফাংশনগুলিকে একসাথে চেইন করা যেতে পারে:
ফাংশন ডবল(x) { রিটার্ন x * 2; } ফাংশন addFive(x) { রিটার্ন x + 5; } // কম্বিনিং ফাংশন যাক ফলাফল = addFive(ডবল(10)); console.log(ফলাফল); // 25 (10*2=20, 20+5=25) // বা: let result2 = দ্বিগুণ(addFive(10)); console.log(ফলাফল2); // 30 (10+5=15, 15*2=30)
টেক্সট বা সংখ্যা ফেরত
একটি ফাংশন যেকোনো ধরনের মান যেমন টেক্সট বা সংখ্যা ফেরত দিতে পারে।
পাঠ্য ফেরত দিন
function fullName(firstName, lastName) {
return firstName + " " + lastName;
}
let name = fullName("John", "Doe");
console.log(name); // "John Doe"
function getGreeting(timeOfDay) {
if (timeOfDay === "morning") {
return "Good Morning";
} else if (timeOfDay === "evening") {
return "Good Evening";
} else {
return "Hello";
}
}
console.log(getGreeting("morning")); // "Good Morning"
ফিরতি নম্বর
ফাংশন calculateTotal(মূল্য, পরিমাণ) { রিটার্ন মূল্য * পরিমাণ; } let total = calculateTotal(100, 3); console.log(মোট); // 300 ফাংশন getRandomNumber() { Math.random(); } console.log(getRandomNumber()); // 0.123456... (এলোমেলো সংখ্যা) ফাংশন getMax(a, b) { যদি (a > b) { ফেরত a; } অন্য { ফেরত খ; } } console.log(getMax(10, 20)); // 20
বিভিন্ন ধরনের রিটার্ন মান:
- সংখ্যা:গণনামূলক ফলাফল
- স্ট্রিং:টেক্সট তথ্য
- বুলিয়ান:সত্য/মিথ্যা ফলাফল
- সারি:তথ্য সংগ্রহ
- বস্তু:স্ট্রাকচার্ড ডেটা
- কার্যক্রম:উচ্চ ক্রম ফাংশন
একটি ফাংশন থেকে ফিরে মৃত্যুদন্ড বন্ধ করে দেয়
returnপরে লেখা কোড কার্যকর করা হবে না।
উদাহরণ
ফাংশন testReturn() { "সম্পন্ন" ফেরত দিন; console.log("এটি কখনই চলবে না"); // এটা কাজ করে না যাক x = 10; // এটা কাজ করে না "এছাড়াও সম্পন্ন" ফেরত দিন; // এটা কাজ করে না } let result = testReturn(); console.log(ফলাফল); // "সম্পন্ন"
দ্রষ্টব্য:
returnস্টেটমেন্টের পরে যেকোন কোডকে "ডেড কোড" হিসেবে বিবেচনা করা হয় এবং কখনই কার্যকর করা হয় না।
এটি সাধারণত কম্পাইলার এবং আইডিই দ্বারা একটি সতর্কতা হিসাবে প্রদর্শিত হয়।
সতর্কতার উদাহরণ:
ফাংশন গণনা (x) { যাক ফলাফল = x * 2; ফেরত ফলাফল; // নিম্নলিখিত লাইনগুলি কখনই কাজ করে না: console.log("গণনা সম্পূর্ণ"); // ডেড কোড যাক অতিরিক্ত = ফলাফল + 10; // ডেড কোড } console.log(গণনা করুন(5)); // 10
রিটার্ন ছাড়া ফাংশন
যদি একটি ফাংশন একটি মান ফেরত না দেয়, এটিundefinedফিরে আসবে
উদাহরণ
ফাংশন noReturn() { যাক x = 10; // কোন রিটার্ন স্টেটমেন্ট নেই } let result = noReturn(); console.log(ফলাফল); // অনির্ধারিত console.log(ফলাফলের প্রকার); // "অনির্ধারিত" ফাংশন logMessage(বার্তা) { console.log(বার্তা); // কোনটি ফেরত দেয় না } let logged = logMessage("Hello"); console.log(লগ করা); // অনির্ধারিত (console.log আউটপুট ফেরত দেবে না)
console.log() vs return:
দুটির মধ্যে পার্থক্য বোঝা গুরুত্বপূর্ণ:
- console.log():কনসোলে আউটপুট প্রদর্শন করে, কিন্তু একটি মান ফেরত দেয় না
- return:একটি মান প্রদান করে, কিন্তু কনসোলে প্রদর্শন করে না
ফাংশন শুধুমাত্র দেখান() { console.log("হ্যালো"); // কনসোলে প্রদর্শন করে } ফাংশন রিটার্ন শুধুমাত্র() { "হ্যালো" ফেরত দিন; // মান প্রদান করে } let a = showOnly(); // a = অনির্ধারিত let b = returnOnly(); // b = "হ্যালো"
তাড়াতাড়ি মান ফেরত দিন
আপনি একটি শর্তের উপর ভিত্তি করে সময়ের আগে একটি কার্যকলাপ বন্ধ করতে পারেনreturnব্যবহার করা যেতে পারে।
উদাহরণ
ফাংশন চেকএজ(বয়স) { যদি (বয়স <18) { "খুব তরুণ" ফেরত দিন; } "অ্যাক্সেস দেওয়া হয়েছে" ফেরত দিন; } console.log(চেকএজ(15)); // "খুব তরুণ" console.log(চেকএজ(25)); // "অ্যাক্সেস দেওয়া হয়েছে" // একটি আরো জটিল উদাহরণ: ফাংশন getGrade(স্কোর) { যদি (স্কোর >= 90) { ফেরত "A"; } যদি (স্কোর >= 80) { ফেরত "বি"; } যদি (স্কোর >= 70) { ফেরত "সি"; } যদি (স্কোর >= ৬০) { ফেরত "ডি"; } ফেরত "এফ"; } console.log(getGrade(95)); // "ক" console.log(getGrade(65)); // "ডি" console.log(getGrade(45)); // "এফ"
তাড়াতাড়ি প্রস্থানের সুবিধা:
- কোড সরলীকরণ:লম্বা
else ifচেইন এড়িয়ে যায় - কর্মক্ষমতা উন্নত করে:অপ্রয়োজনীয় কোড চালায় না
- পড়া সহজ:স্টপ শর্ত সাফ করুন
- হ্যান্ডলিং ত্রুটি:ভুল ইনপুটের জন্য দ্রুত প্রস্থান করুন
HTML এ মান ফেরত দিন
ফাংশন রিটার্ন মান প্রায়ই HTML বিষয়বস্তু আপডেট করতে ব্যবহার করা হয়.
উদাহরণ
<!-- HTML --> <p id="demo"></p> <script> // জাভাস্ক্রিপ্ট ফাংশন to সেলসিয়াস (ফারেনহাইট) { রিটার্ন (5/9) * (ফারেনহাইট - 32); } // HTML এ ফাংশনের মান প্রদর্শন করুন document.getElementById("demo").innerHTML = toCelsius(77); </script>
আরও HTML উদাহরণ:
ফাংশন getCurrentTime() { let now = নতুন তারিখ(); return now.toLocaleTimeString(); } ফাংশন createGreeting(নাম) { ফিরে যান "স্বাগত, " + নাম + "!"; } // HTML উপাদান আপডেট করুন document.getElementById("time").innerHTML = getCurrentTime(); document.getElementById("greeting").innerHTML = createGreeting("John"); // গণনা করা মান প্রদর্শন করুন ফাংশন calculateTotal(আইটেম) { যাক মোট = 0; জন্য (আইটেম আইটেম যাক) { মোট += আইটেম. মূল্য; } মোট রিটার্ন; } যাক কার্টআইটেম = [ { নাম: "বই", মূল্য: 20}, { নাম: "কলম", মূল্য: 5 }, { নাম: "নোটবুক", মূল্য: 15 } ]; document.getElementById("total").innerHTML = "মোট: $" + calculateTotal(cartItems);
সাধারণ ভুল
ফেরার কথা ভুলে যাওয়া
returnএকটি ফাংশন যা বিদ্যমান নেইundefinedফিরে আসবে
// ত্রুটি: ফাংশন গণনা (a, b) { a + b; // কোনটি ফেরত দেয় না } console.log(গণনা করুন(2, 3)); // অনির্ধারিত // ঠিক আছে: ফাংশন গণনা (a, b) { ফেরত a + b; } console.log(গণনা করুন(2, 3)); // 5
প্রত্যাবর্তনের পরে কোডটি চালানোর আশা করা হচ্ছে
returnকোড পরে উপেক্ষা করা হয়.
// ত্রুটি: ফাংশন প্রক্রিয়া(x) { যাক ফলাফল = x * 2; ফেরত ফলাফল; console.log("প্রসেসিং সম্পূর্ণ"); // এটা কাজ করে না } // ঠিক আছে: ফাংশন প্রক্রিয়া(x) { যাক ফলাফল = x * 2; console.log("প্রসেসিং সম্পূর্ণ"); // প্রথম ফেরত ফলাফল; // তারপর }
console.log() return
console.log()আউটপুট প্রদর্শন করে কিন্তু একটি মান ফেরত দেয় না।
// ত্রুটি: ফাংশন getMessage() { console.log("হ্যালো"); // কনসোলে প্রদর্শন করে } let msg = getMessage(); // msg = অনির্ধারিত // ঠিক আছে: ফাংশন getMessage() { "হ্যালো" ফেরত দিন; // মান প্রদান করে } let msg = getMessage(); // msg = "হ্যালো" // অথবা উভয়: ফাংশন getMessage() { let message = "হ্যালো"; console.log(বার্তা); // প্রদর্শন ফেরত বার্তা; // রিটার্ন }
ফাংশনের রিটার্ন মান অনুশীলন করুন
একটি প্রক্রিয়ায়returnবিবৃতি উপস্থিত না থাকলে কি মান ফেরত দেওয়া হবে?
একটি প্রক্রিয়ায়returnবিবৃতি উপস্থিত না থাকলে কি মান ফেরত দেওয়া হবে?
সমাধান বর্ণনা:
জাভাস্ক্রিপ্টে, একটি ফাংশন স্পষ্টতইreturnযদি এটি একটি বিবৃতি দিয়ে শেষ না হয়, তাহলে এটি নিহিতundefinedরিটার্ন:
// কোন সুস্পষ্ট রিটার্ন নেই ফাংশন noReturn() { যাক x = 10; // কোন রিটার্ন স্টেটমেন্ট নেই } let result = noReturn(); console.log(ফলাফল); // অনির্ধারিত console.log(ফলাফলের প্রকার); // "অনির্ধারিত" // খালি রিটার্ন স্টেটমেন্ট ফাংশন emptyReturn() { প্রত্যাবর্তন // কোন মান নির্দিষ্ট করা নেই } let result2 = emptyReturn(); console.log(ফলাফল2); // অনির্ধারিত // রিটার্ন সহ ফাংশন withReturn() { রিটার্ন 42; } let result3 = withReturn(); console.log(result3); // 42
মূল পার্থক্য:
undefined: মান সংজ্ঞায়িত নয় (ডিফল্ট)null: ইচ্ছাকৃতভাবে খালি মান0: একটি বৈধ সাংখ্যিক মান
স্বয়ংক্রিয়ভাবে ফাংশনundefinedফেরত দেয়,nullবা0না.
পরবর্তী অধ্যায়
Function Arguments
পরবর্তী পাঠে, আমরা ফাংশন আর্গুমেন্ট সম্পর্কে শিখব—ফাংশনে ডেটা পাঠানোর উন্নত উপায়:
- অবশিষ্ট প্যারামিটার (...args)
- যুক্তি মানে
- প্যারামেট্রিক পচন
- ফাংশন আর্গুমেন্টের বৈশিষ্ট্য