TypeScript Tutorial: TypeScript Types
প্রিয় ডেভেলপারস! আসসালামু আলাইকুম, আশা করি ভালো আছেন। আজকের ব্লগে TypeScript এর Type সম্পর্কে বিস্তারিত টিউটোরিয়াল আপনাদের মাঝে শেয়ার করবো, আশা করি আপনারা উপকৃত হবেন। তাহলে শুরু করা যাক…
TypeScript
এ Types: TypeScript এ
types এর মাধ্যমে ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ ডিফাইন করা যায়, নিম্নে TypeScript এর Built-in ডাটা টাইপস এর তালিকা দেওয়া হলো – string,
number, boolean, null and undefined, Object, any, void, never ইত্যাদি।
Type
Annotations
TypeScript
এ ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ ডিফাইন করার জন্য ভ্যারিয়েবল এবং ফাংশন প্যারামিটার এর পরে (: কোলন) দিয়ে ডাটা টাইপ লিখতে হয়, নিন্মের কোড দেখুন –
[
const siteName: string = "Notesaid24";
const prsentYear: number = 2023;
function myGreeting(name: string): string {
return `Welcome ${name}!`;
}
]
কোড বিশ্লেষণঃ উপরোল্লিখিত কোডে, ‘siteName’ নামে একটি ভ্যারিয়েবল ডিক্লেয়ার করা হয়েছে এবং তার ভ্যালু “notesaid24” যা একটি “string” টাইপের ডাটা টাইপ, তাই এর জন্য ‘siteName’ ভ্যারিয়েবল এর পরে (:) কোলন দিয়ে ভ্যারিয়েবল এর ভ্যালুর ডাটা টাইপ “: string” লেখা হয়েছে। একইভাবে ‘presentYear’ ভ্যারিয়েবল এর ভ্যালুর “2023” ডাটা টাইপ “number” টাইপ, তার জন্য ‘presentYear’ ভ্যারিয়েবল এর পরে (:) কোলন দিয়ে ভ্যারিয়েবল এর ভ্যালুর ডাটা টাইপ “: number” লেখা হয়েছে।
দ্বিতীয়ত, “myGreeting” নামে এখানে একটি ফাংশন ডিক্লেয়ার করা হয়েছে এবং ঐ ফাংশনটি প্যারামিটার হিসাবে “name” নিবে, আর আমরা জানি “name” একটি ‘string’ টাইপের ডাটা টাইপ। তাই এখানে “myGreeting” ফাংশনের প্যারামিটার এর পরে কোলন দিয়ে ডাটা টাইপ “: string” লেখা হয়েছে। মোট কথা হলো, যে কোন ভ্যারিয়েবল এবং ফাংশন প্যারামিটার ডিক্লেয়ার করা হোক না কোন
ভ্যারিয়েবল এবং ফাংশন প্যারামিটার যে ধরনের ডাটা টাইপ গ্রহন করে তার উপর ভিত্তি করে
ডাটা টাইপ ডিফাইন করতে হয়, তবে ডাটা টাইপ ডিফাইন
করার পূর্বে অবশ্যই (:) কোলন ব্যবহার করতে হবে। ধীরে ধীরে আমরা এই ব্যাপার নিয়ে আরও বিস্তারিত জানবো , ইনশাআল্লাহ্।
Type Annotations এর আরও কিছু ব্যবহার
Parameter Type Annotation
Parameter Type Annotations সাধারণত ফাংশনের প্যারামিটারের
এ ডাটা টাইপ। এর ব্যবহার করার মাধ্যমে অনেক এরর থেকে বাঁচা যায়
এবং সঠিক প্যারামিটার ব্যবহারের নিশ্চয়তা প্রদান করে –
[
function myGreeting(name: string) {
return `Welcome ${name}!`;
}
]
Return Type Annotation
Return Type Annotations সাধারণত ফাংশনের রিটার্ন
ভ্যালু এর ডাটা টাইপ। এর ব্যবহার করার মাধ্যমে অনেক এরর
থেকে বাঁচা যায় এবং সঠিক প্যারামিটার এর ডাটা টাইপ এবং ফাংশনের রিটার্ণ ভ্যালু এর ডাটা
টাইপ ব্যবহারের নিশ্চয়তা প্রদান করে –
[
function addNum(num1: number, num2: number): number {
return num1 + num2;
}
]
Object Type Annotation
Object Type Annotation একটি Object এর কাঠামো গঠন করে এবং ডাটা টাইপ এর নিশ্চয়তা প্রদান করে।
[
let Person: { name: string; age: number } = {
name: "Ahshan Habib",
age: 10,
};
]
Any Type Annotation
মাঝে মাঝে আমাদের প্রয়োজন অনুযায়ি, Third Party
Resource বা API থেকে ডাটা ব্যবহার করতে হয়। কিন্তু Third Party Resource বা API প্রদানকৃত ডাটার টাইপ
কি হবে তা আমাদের অজানা থাকে। এই জন্য প্রাথমিকভাবে কোডের এরর থেকে বাঁচার জন্য ভ্যারিয়েবলের
ডাটা টাইপ Any ব্যবহার করে, এ যাবতীয় এরর থেকে বাঁচা যায়।
[
const thirdPartyData: any;
]
Enum Type Annotation
TypeScript
এ enum এমন একটি ডাটা টাইপ যেখানে আমরা নির্দিষ্ট কিছু Constant নিয়ে কাজ করতে পারি (string, number) এবং এর অন্যতম বৈশিষ্ট্য হলো ডুফলিকেট ভ্যালু রাখা যায় না। enum এর মধ্যমে কোডের Readability এবং Maintainability উন্নত করা যায়।
[
enum Color {
Red,
Green,
Blue,
}
// Using the enum
let myColor: Color = Color.Green;
console.log("Selected color:", myColor); // Outputs: 1
]
Type Inference
TypeScript
এ যেমন Type
Annotations এর মাধ্যমে Data Type বলা যায়, তেমনিও যদি কোন ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপে Data Type বলে না দিলে তাকে Type Inference বলে। অর্থাৎ, TypeScript কম্পাইলার আমাদের ডিক্লেয়ারকৃত ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ অটোমেটিক
ইনফার / অনুমান করে নেয়।
[
const siteName = "Notesaid24";
const prsentYear = 2023;
function myGreeting(name): string {
return `Welcome ${name}!`;
}
]
ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ Assigned এর উপর ভিত্তি করে একে আবার দুই ভাগে ভাগ করা যায়
–
Explicit Type - যে সকল ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ সরাসরি Type Annotation এর মাধ্যমে উল্লেখ করা হয় তাকে Explicit Type বলে।
Implicit Type - যে সকল ভ্যারিয়েবল, ফাংশন প্যারামিটার এবং ফাংশন রিটার্ন টাইপ এর ডাটা টাইপ সরাসরি Type Annotation এর মাধ্যমে উল্লেখ করা না হয় এবং TypeScript
কম্পাইল এর সময় ইনফার / অনুমান করে নেয় তাকে
Implicit Type বলে।
Union Types
TypeScript এর মাধ্যমে একই Variable এ বিভিন্ন ধরনের ডাটা ষ্টোর করা যায়। আর এই বিভিন্ন ধরনের ডাটা ষ্টোর করে রাখা
কে Union
Type বলে। Union টাইপ লেখার জন্য (|) এই সিন্ট্যাক্স ব্যবহার করতে হয়। সিন্ট্যাক্স মনে রাখার সহজ উপায় হলো JavaScript এর Logical
or Operator (||) TypeScript তা Union Type
Operator এবং এর সিনট্যাক্স হলো – (|)
[
const storeStrAndNum: string | number = "Notesaid24";
]
কোড বিশ্লেষণঃ উপরোল্লিখিত উদাহরণে,
‘storeStrAndNum’ নামে একটি ভ্যারিয়েবল ডিক্লেয়ার করেছি এবং Type Annotations এর মাধ্যমে “string | number” ডাটা টাইপ দিয়েছি এবং ভ্যারিয়েবলের ভ্যালু হিসেবে “Notesaid24” বা
‘string’ দিয়েছি। অর্থাৎ, আমাদের ইচ্ছামতো যখন যে ধরনের ডাটা প্রয়োজন ভ্যারিয়েবলের ভ্যালু হিসাবে ষ্টোর বা রাখতে পারে। যেমন -
‘storeStrAndNum’ এই ভ্যারিয়েবলে আমরা ‘string’ অথবা ‘number’ ডাটা টাইপের ডাটা রাখতে পারি।
আশা করি আপনি আজকের এই ব্লগটি মনোযোগ
সহকারে পড়েছেন। আজকের ব্লগটি আপনার কাছে কেমন লেগেছে অবশ্যই
কমেন্ট করে জানাবেন, আর যদি কোন ভূল হয়ে থাকে তাহলে ক্ষমা সুন্দর দৃষ্টিতে দেখবেন এবং কোথায় ভূল হয়েছে কমেন্ট করে জানাবেন। পোষ্টে উল্লিখিত কোনো অংশ যদি বুঝতে সমস্যা হয়, তাহলে কমেন্ট বক্সে জানিয়ে দিন। ইনশাআল্লাহ্, সমস্যা সমাধানের চেষ্টা করবো। আর ওয়েবসাইটটি বন্ধুদের মাঝে শেয়ার করবেন। আজকের মতই এখানেই বিদায় নিলাম, ইনশাআল্লাহ দেখা হবে অন্য কোন ব্লগে। ভালো থাকবেন সুস্থ থাকবেন। আল্লাহ হাফেয।