Skip to main content

Command Palette

Search for a command to run...

Function Composition In Bengali JavaScript Series ⇾ Chapter Nine (Part -3)

function composition in JavaScript series

Published
•2 min read•View as Markdown
Function Composition In Bengali JavaScript Series ⇾ Chapter Nine (Part -3)
H

♗ Love To Play With → JavaScript & NodeJS.

✢ Interested → Web & Backend Development.

↯ Current Stack → MERN Stack

এই পর্বে আমরা জানব ফাঙ্কশন কম্পোসিশন সম্পর্কে ।কম্পোসিশন সাধারণত ২ ধরণের হয়ে থাকে একটা হচ্ছে অবজেক্ট ওরিয়েন্টেড টার্মস অনুযায়ী কম্পোসিশন আর অন্যটা হচ্ছে ফাঙ্কশন কম্পোসিশন ।

আমরা এর আগেও ফাঙ্কশন কম্পোসিশন করেছি যেমন ধর console.log এর মধ্যে আমরা অনেক ফাঙ্কশন কল করেছি এই যে একটা ফাঙ্কশন এর মধ্যে ইন রেজাল্ট ইনপুট আকারে ফাঙ্কশন প্রোভাইড করেছিলাম এইটাই মূলত ফাঙ্কশন কম্পোসিশন ।আমরা যদি আরো সহজ করে বলতে চাই তাহলে সংজ্ঞা টা দাঁড়ায় : প্রথম ফাঙ্কশন এর ইনপুট আকারে দ্বিতীয় ফাঙ্কশন এর আউটপুট দেওয়া যায় তখন সেটাকে আমরা ফাঙ্কশন কম্পোসিশন বলব ।

আমরা একটা উধারণের মাধ্যমে বুঝার চেষ্টা করতে পারি :

function print(inp){
    console.log(inp)
}

function multiplyByFive(n){
    return n * 5
}

function add(a,b){
    return a + b
}

print(multiplyByFive(add(3,6)))

আমাদের কাছে তিনটা ফাঙ্কশন আছে print,multiplyByFive এবং add । এখন print ফাঙ্কশন এর কাজ হচ্ছে আর্গুমেন্ট এ যে ইনপুট পাবে তা কনসোল লগ করা । multiplyByFive এর কাজ হচ্ছে আর্গুমেন্ট এ যে ভ্যালু পাবে সেটাকে ৫ দিয়ে গুন্ করা ও রিটার্ন করা । এবং add ফাঙ্কশন এর কাজ হচ্ছে আর্গুমেন্ট এ যে ভ্যালু পাবে তাকে যোগ করা ও রিটার্ন করা ।

তাহলে এবার আমরা কোড এর মধ্যে print(multiplyByFive(add(3,6))) যেখানে ফাঙ্কশন কল করেছি সেটাকে ভেঙে ফেলি দেখি শর্ত মত হয় কিনা ?

শর্তটা বা সঙ্গে তা ছিল প্রথম ফাঙ্কশন এর ইনপুট এ দ্বিতীয়ও ফাঙ্কশন এর আউটপুট দিতে হবে ।

তাহলে আমরা প্রথম ফাঙ্কশন print কল করলাম এবং তার ইনপুট বা পেরামিটার আকারে দ্বিতীয় ফাঙ্কশন দিলাম ।যেহেতু দ্বিতীয় ফাঙ্কশন একটা নম্বর রিটার্ন করছে তাই পেরামিটার আউটপুট একটা সংখ্যাই পাচ্ছে ।আমাদের শর্ট মিলে গেছে ।এবারে multiplyByFive এর পেরামিটার n আছে আর n যেহেতু সংখ্যা চাচ্ছে তাই add ফাঙ্কশন কল করব এবং পেরামিটার দিব যা ৩,৬।

finally আমাদের আউটপুট আসবে ৪৫ ।

আউটপুট দেখার জন্য:

Desktop/deep_dive_js/chapterNine$ node composition.js 
45

তাহলে একটা ফাঙ্কশন এর ইনপুট আকারে যদি আর একটা ফাঙ্কশন এর আউটপুট প্রবেশকরাতে পারি, তাহলে এই ছোট্ট কথাটাকেই আমরা ফাঙ্কশন কম্পোসিশন বলব ।

আমরা ফাঙ্কশনাল জাভাস্ক্রিপ্ট চ্যাপ্টার এই ব্লগ এর মাধ্যমে শেষ করছি ।

ফাঙ্কশনাল জাভাস্ক্রিপ্ট এর কোর যে কনসেপ্ট গুলি রয়েছে তা ইতিমধ্যে আমরা জেনে গিয়াছি ।

পরবর্তী আর্টিকেল থেকে আমরা ক্লোজার ,হোস্টিং ,জাভাস্ক্রিপ্ট কিভাবে বিহাইন্ড দ্যা সিন্ কাজ করে সে সব সম্পর্কে জানব ।

JavaScript deep dive

Part 16 of 17

সম্পূর্ণ বাংলা ভাষায় javascript কমপ্লিট সিরিজ। একদম বিগিনার থেকে অ্যাডভান্সড লেভেল সবার জন্য।সিরিজটি এমন ভাবে সাজানো হয়েছে যেন প্রোগ্রামিং এর বিগিনার থেকে এক্সপার্ট সবাই এ উপকৃত হতে পারে।

Up next

Javascript Engine In Bengali JavaScript Series ⇾ Chapter 10

Scope and Closure chapter-10

More from this blog

D

Discover latest tech & programming blogs with devtj. Educate yourself in web development & more

34 posts

Backend-Focused Full-Stack Developer.

🛠️ Current Tech Stack: MERN Stack Enthusiast🚀