রিটার্ন কীওয়ার্ড

ফাংশনটি চূড়ান্ত ফলাফল হিসাবে যে মানটি তৈরি করবে তা নির্দিষ্ট করতে 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 কি জন্য ব্যবহার করা হয়?

একটি ফাংশনের চূড়ান্ত ফলাফল নির্দিষ্ট করা।
ফাংশনের শুরুতে কোড ফিরিয়ে দেওয়া।