ফাংশনটি চূড়ান্ত ফলাফল হিসাবে যে মানটি তৈরি করবে তা নির্দিষ্ট করতে return
ব্যবহার করুন। যখন ইন্টারপ্রেটার একটি return
স্টেটমেন্টে পৌঁছায়, যে ফাংশনটিতে সেই স্টেটমেন্ট রয়েছে তা অবিলম্বে শেষ হয়ে যায় এবং নির্দিষ্ট মানটি সেই প্রসঙ্গে ফিরে আসে যেখানে ফাংশনটি বলা হয়েছিল:
const myFunction = function() {
return 2 + 2;
}
myFunction();
> 4
একটি ফাংশন যা একটি মান প্রদান করে কার্যকরভাবে এটিতে থাকা ডেটা হিসাবে বিবেচনা করা যেতে পারে, একটি পরিবর্তনশীলের মতো:
const myFunction = function() {
return 2 + 2;
}
myFunction() + myFunction();
> 8
একটি অভিব্যক্তি ছাড়া একটি return
স্টেটমেন্ট ফাংশন শেষ করে এবং undefined
ফেরত দেয়:
const myFunction = function() {
return;
}
myFunction();
> undefined
কারণ return
কীওয়ার্ড একটি ফাংশনের সমাপ্তি নির্দেশ করে, যেকোন কোড যা একটি সম্মুখীন return
অনুসরণ করে তা কার্যকর করা হয় না:
const myFunction = function() {
return true;
console.log( "This is a string." );
}
myFunction();
> true
উপরন্তু, একটি সম্মুখীন return
স্টেটমেন্ট অনুসরণ করা কোড কিছু ব্রাউজারের ডেভেলপমেন্ট কনসোলে একটি সতর্কতা (কিন্তু একটি ত্রুটি নয়) হতে পারে:
const myFunction = function() {
return true;
console.log( "This is a string." );
}
> unreachable code after return statement
myFunction();
> true
আবার, এটি শুধুমাত্র একটি return
স্টেটমেন্টের ক্ষেত্রে প্রযোজ্য যা ফাংশনটি কার্যকর করার সময় সম্মুখীন হয়, কোনো কোড নয় যা ক্রমিকভাবে একটি return
স্টেটমেন্ট অনুসরণ করে:
const myFunction = function( myParameter ) {
if( myParameter === undefined ) {
return "This is the result.";
}
return "This is the alternate result.";
}
myFunction();
> "This is the result."
myFunction( true );
> "This is the alternate result."
একটি প্রারম্ভিক return
ব্যবহার করে একটি ফাংশন "শর্ট সার্কিটিং" একটি ফাংশনের শেষে একটি একক return
স্টেটমেন্টের চেয়ে আরও সংক্ষিপ্ত কোডের অনুমতি দিতে পারে। উদাহরণস্বরূপ, নিম্নলিখিত ফাংশনটি নির্ধারণ করে যে একটি পাস করা মান পাঁচ বা তার বেশি অক্ষর ধারণকারী একটি স্ট্রিং কিনা। যদি পাস করা মানটি একটি স্ট্রিং আক্ষরিক না হয়, অক্ষর গণনা করে এমন কোডটি অপ্রয়োজনীয়, এবং ফাংশনটি অবিলম্বে একটি false
ফলাফল দিতে পারে:
function myFunction( myString ) {
if( typeof myString !== "string" ) {
return false;
}
if( myString.length >= 5 ) {
return true;
} else {
return false;
}
}
myFunction( 100 );
> false
myFunction( "St" );
> false
myFunction( "String." );
> true
তীর ফাংশন এক্সপ্রেশনগুলি অনন্য যে return
কীওয়ার্ডটি বোঝানো হয় যখন একটি তীর ফাংশন বডিতে একটি একক অভিব্যক্তি থাকে এবং কোন ব্লক সিনট্যাক্স থাকে না:
const myFunction = () => 2 + 2;
myFunction();
> 4
আপনি যদি তীর ফাংশন বডি সংজ্ঞায়িত করতে ব্লক সিনট্যাক্স ব্যবহার করেন, একটি স্পষ্ট return
প্রয়োজন, এমনকি যদি ফাংশন বডিতে শুধুমাত্র একটি একক অভিব্যক্তি থাকে:
const myFunction = () => { 2 + 2 };
myFunction();
> undefined
const myFunction = () => { return 2 + 2 };
myFunction();
> 4
আপনার উপলব্ধি পরীক্ষা করুন
return
কি জন্য ব্যবহার করা হয়?