TypeScript এ ফাংশন টাইপিং আপনাকে ফাংশনগুলির ইনপুট (প্যারামিটার) এবং আউটপুট (রিটার্ন ভ্যালু) টাইপ সুনির্দিষ্টভাবে ঘোষণা করতে সাহায্য করে। এটি কোডের মান এবং সঠিকতা বৃদ্ধি করতে সাহায্য করে, যাতে আপনি ভুল টাইপ বা অনুপস্থিত আর্গুমেন্ট ব্যবহার না করেন।
ফাংশন টাইপিং এর মাধ্যমে আপনি TypeScript কে বলে দিতে পারেন কিভাবে ফাংশনটি ব্যবহার করা উচিত। এখানে আমরা ফাংশন টাইপিং এর বিভিন্ন দিক সম্পর্কে আলোচনা করব।
১. ফাংশনের প্যারামিটার টাইপিং
TypeScript এ, ফাংশনের প্যারামিটারগুলির টাইপ ডিফাইন করা খুবই সহজ। আপনি প্যারামিটার টাইপ ঘোষণা করতে পারেন কলন (:) এর পর।
উদাহরণ:
function greet(name: string): void {
console.log(`Hello, ${name}`);
}
greet("John"); // সঠিক
greet(123); // ভুল, কারণ প্যারামিটারটি number টাইপ
এখানে greet ফাংশনটি একটি string টাইপের প্যারামিটার নেয় এবং কিছু রিটার্ন করে না (তাহলে void টাইপ ব্যবহার হয়েছে)।
২. ফাংশনের রিটার্ন টাইপিং
TypeScript ফাংশনের রিটার্ন ভ্যালুর টাইপও নির্ধারণ করতে সাহায্য করে। ফাংশনের পরে কলন (:) এবং টাইপ লিখে রিটার্ন টাইপ সুনির্দিষ্ট করা যায়।
উদাহরণ:
function add(a: number, b: number): number {
return a + b;
}
let result = add(5, 3); // সঠিক
let result2 = add("5", "3"); // ভুল, কারণ প্যারামিটারগুলি string
এখানে add ফাংশনটি দুটি number টাইপের প্যারামিটার নেয় এবং একটি number রিটার্ন করে।
৩. অপশনাল প্যারামিটার
TypeScript এ, আপনি চাইলে প্যারামিটারগুলিকে অপশনাল বানাতে পারেন। এর জন্য প্যারামিটার নামের পরে ? চিহ্ন ব্যবহার করতে হবে। এটি মানে, ফাংশনটি সেই প্যারামিটার ছাড়াও কাজ করতে পারবে।
উদাহরণ:
function greet(name: string, age?: number): void {
console.log(`Hello, ${name}`);
if (age !== undefined) {
console.log(`You are ${age} years old.`);
}
}
greet("Alice"); // সঠিক, age প্যারামিটার অনুপস্থিত
greet("Bob", 25); // সঠিক, age প্যারামিটার দেওয়া হয়েছে
এখানে age প্যারামিটারটি অপশনাল, তাই আপনি চাইলে এটি না দিয়ে ফাংশনটি কল করতে পারেন।
৪. ডিফল্ট প্যারামিটার
TypeScript এ, আপনি প্যারামিটারগুলির জন্য ডিফল্ট মানও সেট করতে পারেন। যদি ফাংশন কল করার সময় ঐ প্যারামিটারটি না দেওয়া হয়, তাহলে ডিফল্ট মান ব্যবহৃত হবে।
উদাহরণ:
function greet(name: string, age: number = 30): void {
console.log(`Hello, ${name}`);
console.log(`You are ${age} years old.`);
}
greet("Alice"); // সঠিক, age প্যারামিটারটি ডিফল্ট মান 30 নেয়
greet("Bob", 25); // সঠিক, age প্যারামিটারটি 25 নেয়
এখানে, age প্যারামিটারটির ডিফল্ট মান 30 দেওয়া হয়েছে। তাই আপনি age প্যারামিটার না দিলেও এটি 30 হিসেবে ব্যবহার হবে।
৫. ফাংশন টাইপ অ্যালিয়াস
TypeScript এ, আপনি ফাংশন টাইপ অ্যালিয়াসও তৈরি করতে পারেন। এর মাধ্যমে আপনি ফাংশনের প্যারামিটার এবং রিটার্ন টাইপকে একটি টাইপ ভেরিয়েবল হিসাবে সংজ্ঞায়িত করতে পারেন।
উদাহরণ:
type GreetFunction = (name: string, age: number) => void;
const greet: GreetFunction = (name, age) => {
console.log(`Hello, ${name}`);
console.log(`You are ${age} years old.`);
};
greet("Alice", 25); // সঠিক
এখানে, GreetFunction নামে একটি টাইপ অ্যালিয়াস তৈরি করা হয়েছে, যা একটি ফাংশনের প্যারামিটার এবং রিটার্ন টাইপ নির্ধারণ করে।
৬. ফাংশন সাইনেচার (Signature)
ফাংশনের সাইনেচার হল সেই কনস্ট্রেইনট যা নির্ধারণ করে যে, ফাংশনটি কিভাবে কল হবে, কোন ধরনের প্যারামিটার নিবে, এবং কোন ধরনের রিটার্ন ভ্যালু দিবে।
উদাহরণ:
let add: (a: number, b: number) => number;
add = (x, y) => x + y;
console.log(add(2, 3)); // 5
এখানে, আমরা add ফাংশনের জন্য একটি সাইনেচার ডিফাইন করেছি, যা দুটি number প্যারামিটার নেয় এবং একটি number রিটার্ন করে।
সারাংশ
TypeScript এ ফাংশন টাইপিং কোডের সঠিকতা বৃদ্ধি করে এবং এর ব্যাবহারকারীকে টাইপ সম্পর্কিত ভুল এড়াতে সাহায্য করে। আপনি ফাংশনের প্যারামিটার, রিটার্ন টাইপ, অপশনাল প্যারামিটার, ডিফল্ট প্যারামিটার, এবং ফাংশন টাইপ অ্যালিয়াস ব্যবহার করে কোডের মান উন্নত করতে পারেন। TypeScript এর এই ফিচারগুলো আপনাকে আরও শক্তিশালী এবং টাইপ সেফ কোড লিখতে সাহায্য করবে।
Read more