JavaScript Bangla Tutorial-72: Arrow Function (Part-2) | Arrow With Map, Filter
বিশেষ উল্লেখ করা ভাষায়, আমরা JavaScript Bangla Tutorial-72 এর দ্বিতীয় অংশে এসেছি, যেখানে আমরা এক্সপ্রেশন ট্রান্সফর্মেশন এবং ফিল্টারিং সাথে এরো ফাংশনের (arrow function) সংমিলন নিয়ে আলোচনা করব। এসে দিন এই আরো ফাংশনের সংমিলনের মাধ্যমে আপনি আপনার কোডটি আরও পঠনীয় এবং দক্ষতা সহ বানাতে পারেন, সাথে অ্যারের পরিবর্তন এবং ফিল্টার করার জন্য এরও উন্নত পদ্ধতি অন্বেষণ করতে পারেন।
ম্যাপ সাথে এরো ফাংশন (arrow function) ব্যবহার
ম্যাপ পদ্ধতি হলো একটি ব্যাপক টুল, যা আমাদের একটি দেওয়া ফাংশনটি ব্যবহার করে প্রতিটি উপাদানকে একটি নতুন অ্যারের সাথে পুনরায় রূপান্তরিত করার সুযোগ দেয়। এই জটিলতা ব্যবহার করার সময় এরো ফাংশনের মতন সংক্ষিপ্ত সিনট্যাক্সে কোড একটি বেশি পরিষ্কার এবং উপযুক্ত হয়। চলুন দেখা যাক এরো ফাংশনের ম্যাপ ব্যবহারের সাথে কীভাবে কোড সুগঠিত হয়:
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => num * num);
এখানে, আমরা একটি এরো ফাংশন ব্যবহার করে অ্যারের প্রতিটি সংখ্যাকে বর্গে উঠানোর চেষ্টা করেছি। ম্যাপ পদ্ধতি পুনরায় অ্যারেটি পরিষ্কার করে এবং প্রতিষ্ঠিত মানগুলি দিয়ে নতুন অ্যারে তৈরি করে।
ফিল্টারিং এবং এরো ফাংশনের সাথে ফিল্টার
ফিল্টার পদ্ধতি অত্যন্ত উপকারী যখন আপনি এমন একটি নতুন অ্যারে তৈরি করতে চান যার উপাদানগুলি একটি নির্দিষ্ট শর্ত পূরণ করে। এরো ফাংশন এবং ফিল্টার পদ্ধতির সংমিলন সাথে, আমরা সংক্ষিপ্ত এবং আবদ্ধ কোড তৈরি করতে পারি:
const numbers = [10, 15, 20, 25, 30];
const evenNumbers = numbers.filter((num) => num % 2 === 0);
এই উদাহরণে, এরো ফাংশনটি বিজোড সংখ্যা ফিল্টার করে এবং মৌলিক অ্যারে থেকে শুধুমাত্র জোড় সংখ্যা ধরে নেয়।
Frequently Asked Questions (FAQs)
এরো ফাংশনগুলি জাভাস্ক্রিপ্টে একটি শক্তিশালী অংশ, তবে তা স্বাধীনভাবে পরিপূর্ণ করতে পারে না যেসব পরিপ্রেক্ষ্যে আমরা পারিবে না। তারা শীর্ষক অংশের জন্য অত্যন্ত কার্যকরী এবং this এর প্রেক্ষাপথ বজায় রাখার জন্য সহায়ক। আরও জটিল কার্যগুলি বা তাদের নিজের this প্রেক্ষাপথ প্রয়োজনে পারমিতি ফাংশনগুলি এখনো প্রয়োজন।
এরো ফাংশনগুলি সর্বমোট আধুনিক ব্রাউজারে সমর্থিত, যেমন ক্রোম, ফায়ারফক্স, সাফারি এবং এজ। তবে, পুরানো ইন্টারনেট এক্সপ্লোরার (আইই) এর পুরানো সংস্করণগুলি এরো ফাংশনগুলি সমর্থন করে না। আপনি যদি আইই সমর্থন করতে চান, তবে এগুলি সাজানোর জন্য ব্যাবহার করা যেতে পারে, যেমন ব্যাবেল ট্রান্সপাইলার।
এরো ফাংশনগুলির this কীওয়ার্ড নিয়ে একটি বিশেষ আচরণ রয়েছে। ঐচ্ছিকভাবে, পরম জটিল কিছু ব্যক্তিগত this প্রেক্ষাপথ নেই। বিপরীতে, তারা পরিবেষ্টিত কোড থেকে this মানটি উত্তরণ করে। এটি এরো ফাংশন উপযুক্ত হতে হলে এই বৈশিষ্ট্য সম্মানিত আচরণ প্রদান করে, যেগুলি কলব্যাক এবং ইভেন্ট হ্যান্ডলারে কাজ করতে পারে।
এরো ফাংশনগুলি নিজে নিকটতমভাবে কোড পারফরমেন্সের প্রভাব নেয় না। তবে, তারা যে সংক্ষিপ্ত সিনট্যাক্স দেয়, তা কোড পড়ার এবং রক্ষণাবেক্ষণে উন্নত প্রদর্শনীত করতে পারে। পরিষ্কার কোড সাধারণভাবে অপটিমাইজ এবং ডিবাগ করা সহজ, যা পরিণামস্বরূপ পারফরমেন্স উন্নতি করে।
এরো ফাংশনগুলি সংক্ষিপ্ত সিনট্যাক্স দিয়ে লিখা উচিত সহজ ফাংশনের জন্য। তবে, তারা সেসব কাজের জন্য উপযুক্ত নয় যেগুলি একটি বা একটি নেতার নিজস্ব this প্রেক্ষাপথ প্রয়োজন করে। এই সমস্ত কাজের জন্য, স্বাভাবিক ফাংশনগুলি উপযুক্ত।
এরো ফাংশনগুলি নিজে নিজের this প্রেক্ষাপথ ধরে না এবং তাদের নিজস্ব arguments অবজেক্টও নেই। বিপরীতে, তাদের এই মানগুলি আবারও আবচ্ছিন্ন প্রস্তুত থাকে। এটি কোনও ভেরিয়েবলকে উদ্ধার এবং এই ফাংশনের মধ্যে কীভাবে প্রবর্তন করা হয়, এটি প্রভাবিত করতে পারে।
সমাপ্তি
JavaScript Bangla Tutorial-72 এর দ্বিতীয় পর্বে, আমরা এরো ফাংশনের (arrow function) বিশেষ গুণগুলির সাথে map
এবং filter
পদ্ধতিগুলির সংমিলনের উপর চুমু দিয়েছি। এরো ফাংশনের সংক্ষিপ্ত এবং বুদ্ধিমত্ত সিনট্যাক্স ব্যবহার করে, আপনি পঠনীয় এবং কোড আরও পঠনীয় এবং দক্ষতা সহ বানাতে পারেন, সর্বাধিকতম যেসব অ্যারের পরিবর্তন এবং ফিল্টার করার সাথে কাজ করা হয়। মনে রাখা, এরো ফাংশন একটি মৌলিক সমাধান নয়, তাদের সক্ষমতা এবং সীমাবদ্ধতা বোঝার মাধ্যমে আপনি আপনার কোডবেসের জন্য সেরা সিদ্ধান্ত নিতে সক্ষম হয়।