Menu
2.4 টুপল-ইনাম
টুপল (Tuple)
টুপল টাইপস্ক্রিপ্টে একটি নতুন ডাটা টাইপ, যেটা আসলে বিভিন্ন ডাটা টাইপের ভ্যালু ধরে রাখতে পারে, তবে কি কি টাইপের ডাটা রাখবো সেটা আমাদের বলে দিতে হবে, এটার Syntax দেখতে অ্যারের মতো ।
// other variable types
var empId: number = 1;
var empName: string = "Mahmudul Hasan";
// Tuple type variable
var employee: [number, string] = [1, "Mahmudul Hasan"];
আবার অ্যারে এবং অবজেক্টের মতো, টুপলকে আমরা নতুন ভ্যারিয়াবলে destruct করতে পারি, চলুন একটা উদাহরণ দেখা যাক।
const profile : [string, number, string, boolean] = [
'Mahmudul Hasan',
28,
`Meherpur, Mujibnagar`,
true,
];
const [name, age, address, married] = profile;
console.log(`${name} is ${age} years old.`);
//output
Mahmudul Hasan is 28 years old
আবার আমরা চাইলে কোন ফাংশনের রিটার্ন টাইপ হিসাবেও টুপল ব্যাবহার করতে পারি।
function ageDistance(age1: number, age2: number): [number, boolean] {
return age1 > age2 ? [age1 - age2, true] : [age2 - age1, false];
}
const [difference, isOlder] = ageDistance(30, 69);
console.log(difference); // Output: 39
console.log(isOlder); // Output: false
ইনাম (enum)
ইনাম হল টাইপস্ক্রিপ্টের কয়েকটি বৈশিষ্ট্যের মধ্যে একটি, যা জাভাস্ক্রিপ্টের টাইপ-লেভেল এক্সটেনশন নয়। ধরুন আমরা কিছু কনস্ট্যান্ট ভ্যালু ডিফাইন করে রাখতে চাই এবং সেই ভ্যালুগুলো আমাদের পরে বিভিন্ন কাজে লাগতে পারে এমন হলে, ইনাম ব্যাবহার করে খুব সহজেই আমরা সেটা করতে পারি, টাইপস্ক্রিপ্টে আমরা দুই ধরণের ইনাম ব্যাবহার করতে পারি।
- numeric enums
- string-based enums
//Numeric enums
enum Direction {
Up = 1,
Down,
Left,
Right,
}
console.log(Direction.Right);
// output 4
এখানে আমরা Up কে 1 দিয়ে ইনিশিয়ালাইজ করে দিয়েছি এবং এটা যেহেতু নিউমেরিক ইনাম তাই বাকি মেম্বারগুলো অটো ইনক্রিমেন্ট হয়ে, Down => 2, Left => 3, এবং Right => 4 হবে, আবার আমরা যদি Up কে ইনিশিয়ালাইজ না করতাম তাহলে 0 দিয়ে শুরু হতো।
// error case
enum E {
A = getSomeValue(),
B,
//error Enum member must have initializer.
}
//string enum
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
console.log(Direction.Right);
//output RIGHT
তবে স্ট্রিং ইনাম এর ক্ষেত্রে অবশ্যই আমাদের প্রতিটি মেম্বার কে স্ট্রিং ভ্যালু দিয়ে ইনিশিয়ালাইজ করে দিতে হবে।