JavaScript Bangla Tutorial-71 : Arrow Function (Part-1)
জাভাস্ক্রিপ্ট বাংলা টিউটোরিয়াল-৭১: এরো ফাংশন (arrow function) পার্ট-১ এ আপনাকে নিয়ে যাচ্ছে এরো ফাংশনের মহাশয়। এই ফাংশনগুলি একটি সংক্ষিপ্ত এবং সুন্দর উপায়ে ফাংশন লেখার পদ্ধতি, যা আধুনিক জাভাস্ক্রিপ্ট উন্নতি সংক্রান্ত অসাধারণ জনপ্রিয়তা অর্জন করেছে। এই টিউটোরিয়ালে, আমরা সহজে বুঝতে পারবেন বাংলা ভাষায় যেসব ডেভেলপারদের জন্য এই বিষয়টি সহজে বুঝতে সহায়ক হয়।
এরো ফাংশন (arrow function): ফাংশনের সাধারণ সিনট্যাক্স
বাংলা টিউটোরিয়াল-৭১ এ : এরো ফাংশন (পার্ট-১) এ আপনাকে এরো ফাংশনের বিশাল বিশ্লেষণ দিয়ে দেয়। এই ফাংশনগুলির মধ্যে থাকা সংক্ষিপ্ত সিনট্যাক্সটি প্রয়োজনীয় সংক্ষেপন।
এরো ফাংশনের সিনট্যাক্স
এরো ফাংশনগুলির একটি সংক্ষিপ্ত সিনট্যাক্স আছে যা প্রাথমিক ফাংশন এক্সপ্রেশনের সাথে তুলনা করে।
const ফাংশনের_নাম = (প্যারামিটার1, প্যারামিটার2) => {
// ফাংশনের বডি
// রিটার্ন স্টেটমেন্ট (যদি প্রয়োজন হয়)
};
এই সিনট্যাক্সে =>
ফাংশনের প্যারামিটারগুলি থেকে ফাংশনের বডি আলাদা করে, যা কোডটি সাফল্যপূর্ণ এবং পঠনযোগ্য করে।
এরো ফাংশনের সুবিধা
বাংলা টিউটোরিয়াল-৭১ এ : এরো ফাংশন (পার্ট-১) এ এরো ফাংশন ব্যবহারের অনেক সুবিধাও নিয়ে চর্চা করে।
১. লেক্সিক্যাল this
বাইন্ডিং
এরো ফাংশনগুলির নিজস্ব this
মান নেই; তারা বিধিবদ্ধ শব্দগুলির সংজ্ঞান সংক্রান্ত সাথে প্রাপ্ত করে। এটি উপযুক্ত সংকেত নেয় .bind()
বা .apply()
ব্যবহার করার দরকার নেই।
২. সংক্ষিপ্ত এবং পঠনযোগ্য
এরো ফাংশনগুলি সংক্ষিপ্ত সিনট্যাক্সে অধিক সংক্ষিপ্ত হওয়ার জন্য উপযুক্ত। তাদের সংক্ষিপ্ত সিনট্যাক্স অবাঞ্ছিত কোডের প্রয়োজন মমানে, যা আপনার ফাংশনগুলি পড়াশোনা এবং সহজে মেন্টেইন করার জন্য সাহায্য করে।
৩. শ্রেণীবদ্ধ রিটার্ন
যদি ফাংশনের বডি একটি একক সংখ্যা ব্যক্তি হয়, তাহলে আপনি ব্রেসগুলি এবং রিটার্ন
কীওয়ার্ড উল্লেখ করতে পারেন না। এক্সপ্রেশনের ফলাফল স্বয়ংক্রিয়ভাবে রিটার্ন হয়।
৪. উন্নত কলব্যাক
এরো ফাংশনগুলি কলব্যাক ফাংশন হিসেবে ভালো কাজ করে, সহযোগিতা করতে বিশেষভাবে স্থানীয় this
বাইন্ডিং দেয়। এর সংক্ষিপ্ত এবং বৈশিষ্ট্য মমানে, সম্পেক্ষিত কোড প্যাটার্নগুলি সহজ করে।
এরো ফাংশনের ব্যবহারের ক্ষেত্র
বাংলা টিউটোরিয়াল-৭১ এ : এরো ফাংশন (পার্ট-১) এ এরো ফাংশনের ব্যবহারের বিভিন্ন ক্ষেত্রে চর্চা করে।
১. ফাংশন এক্সপ্রেশন
এরো ফাংশনগুলি সংক্ষিপ্ত ফাংশন এক্সপ্রেশন তৈরি করতে সচরাচর ব্যবহৃত হয়। এগুলি বিশেষভাবে কোডটি অন্য ফাংশনে যে ফাংশনগুলি আপনি প্যারামিটার হিসেবে পাঠাচ্ছেন তা বুঝতে ব্যবহৃত হলে খুব সুবিধাজনক।
২. অ্যারে পরিচ্ছেদন
map
, filter
, এবং reduce
সমান্তরাল এবং সংক্ষিপ্ত সিনট্যাক্স ব্যবহার করে অ্যারের পরিচ্ছেদন একে অন্যের পরে হতে পারে ব্যাপারগুলি এরো ফাংশনের মাধ্যমে অনেক সহজে হয়ে যায়। তাদের সংক্ষেপণ এবং লেক্সিক্যাল this
বাইন্ডিং সংক্ষিপ্ত কোড প্যাটার্নগুলি সহজ করে দেয়।
৩. ইভেন্ট হ্যান্ডলার
এরো ফাংশনগুলি ইভেন্ট হ্যান্ডলারের জন্য উপযুক্ত সময়। তাদের লেক্সিক্যাল this
বাইন্ডিং নিশ্চিত করে যে প্রসঙ্গটি অব্যাহত থাকে, অপ্রত্যাশিত আচরণের সম্ভাবনা কম হয়।
সম্ভাব্য ঝামেলা এবং চিন্তা-গুলি
বাংলা টিউটোরিয়াল-৭১ এ : এরো ফাংশন (arrow function) (পার্ট-১) এ কিছু সম্ভাব্য ঝামেলা উল্লেখ করে যা এরো ফাংশন ব্যবহার করার সময় সাবধান থাকতে পারে।
১. কোনও arguments
অবজেক্ট নেই
এরো ফাংশনগুলির কোনও arguments
অবজেক্টের অ্যাক্সেস নেই, যা আপনি আপনার ফাংশনের মধ্যে এটি ব্যবহার করতে নির্ভর করেন তা দেখাতে পারে।
২. অবাঞ্ছিত ক্লাস প্রতিষ্ঠানের জন্য অপ্রয়োজনীয়
লেক্সিক্যাল this
বাইন্ডিং সম্প্রদায়ের অবজেক্ট মেথড নির্ধারণ করার জন্য সম্প্রদায় ব্যবহারে অপ্রয়োজন হলে এরো ফাংশনগুলি উপযুক্ত নয়।
৩. অতিরিক্ত সংক্ষিপ্ততা থেকে বিরত থাকুন
যতটুকু সংক্ষিপ্ততা একটি বৃহত্তর পঠনযোগ্যতার স্থানে আপনি সংক্ষিপ্ততার দ্বারা বাক্য যাত্রীত করেন, এটি আপনার কোড পঠনযোগ্যতা দূরে পরিবেশন করতে পারে। সংক্ষেপণ নিরপেক্ষতা উপরিত্যক্ত পঠনযোগ্যতার ওপর প্রাথমিকতা দিন।
Frequently Asked Questions (FAQs)
উত্তর: অ্যারো ফাংশন শক্তিশালি, কিন্তু তা নিজস্ব পুরোপুরি স্বপ্নের ফাংশন বদলাতে পারে না। আপনি তা তাদের উপকারে ব্যবহার করুন যখন তাদের সুবিধাগুলি আপনার প্রয়োজনের সাথে মিলে।
উত্তর: অ্যারো ফাংশনগুলি তাদের উপস্থিত শব্দগুলির সাথে নিজস্ব this মান আবিষ্কার করে, তা আপনাকে যদি না প্রয়োজন হয় তাহলে তা .bind() বা .apply() ব্যবহার করার আবশ্যকতা নেই।
উত্তর: সংক্ষিপ্ততা হওয়াটা ভাল, কিন্তু সংক্ষেপণ যতটুকু অতিরিক্ত হয়, বৃহত্তর পঠনযোগ্যতার স্থানে আপনি পাঠকের অভিজ্ঞতা কমাতে পারেন। আপনার কোডে সংক্ষিপ্ততার সাথে বৃহত্তর পঠনযোগ্যতা সমন্বয় করার জন্য মনন করুন।
সমাপ্তি
জাভাস্ক্রিপ্ট বাংলা টিউটোরিয়াল-৭১ : এরো ফাংশন (পার্ট-১) এ আমরা এরো ফাংশনের বিস্তারিত বিশ্লেষণ করেছি। এই সংক্ষিপ্ত এবং সুন্দর ফাংশনগুলি আপনার জাভাস্ক্রিপ্ট টুলকিটে একটি মৌলিক যোগ হয়ে আসতে পারে। তাদের সিনট্যাক্স, সুবিধা, এবং সীমাগুলি সম্পর্কে আপনি এখন সম্পূর্ণ ধারণা পেয়েছেন।