কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে কারিয়ারিং (Currying) কী


কারিয়ারিং (Currying)

কারিয়ারিং হলো একাধিক আর্গুমেন্ট নিয়ে কাজ করা একটি ফাংশনকে একক আর্গুমেন্ট নিয়ে কাজ করা ফাংশন সিকোয়েন্সে রূপান্তর করার কৌশল। অন্য কথায়, যখন একটি ফাংশন সব আর্গুমেন্ট একসাথে না নেয়ে প্রথমটি নেয় এবং একটি নতুন ফাংশন রিটার্ন করে যা দ্বিতীয়টি নেয়, তৃতীয়টি নেয় এমনভাবে সব আর্গুমেন্ট পূরণ না হওয়া পর্যন্ত।

কারিয়ারিং ফাংশনের ব্যবহারিতা

  ক) একই ভেরিয়েবল বারবার পাস করার ঝামেলা থেকে মুক্তি।

  খ) ইভেন্ট হ্যান্ডলিং-এ অত্যন্ত উপকারী।

সিনট্যাক্স:

     function Myfunction(a) {         return (b) => {            return (c) => {              return a * b * c              }             }          }

উদাহরণ

নিচের উদাহরণে, যেহেতু কারিয়ারিং ব্যবহার করা হয়নি, সব প্যারামিটার একসাথে (volume(11,2,3)) পাস করা হয়েছে ভলিউম ক্যালকুলেট করার জন্য।

<html> <body> <script>    function volume(length, width, height) {       return length * width * height;    }    document.write((volume(11,2,3))); </script> </body> </html>

আউটপুট

66

উদাহরণ

নিচের উদাহরণে, যেহেতু কারিয়ারিং ব্যবহার করা হয়েছে, প্যারামিটারগুলো একেক করে (volume(11)(2)(3)) পাস করা হয়েছে শেষ ফাংশন শেষ প্যারামিটার কল না করার পর্যন্ত।

<html> <body> <script>    function volume(length) {       return function(width) {          return function(height) {             return height * width * length;          }       }    } document.write(volume(11)(2)(3)) </script> </body> </html>

আউটপুট

66

  1. জাভাস্ক্রিপ্টে অ্যানোনিমাস ফাংশন কী?

  2. জাভাস্ক্রিপ্টে ফাংশন এক্সপ্রেশন কী?

  3. জাভাস্ক্রিপ্টে ক্লোジャー (Closures) কী?

  4. জাভাস্ক্রিপ্টে কারিয়িং বনাম পার্শিয়াল অ্যাপ্লিকেশন