TypeScript একটি ওপেন সোর্স প্রোগ্রামিং ভাষা যা JavaScript এর উপর ভিত্তি করে তৈরি। এটি মূলত JavaScript এর সুপারসেট, যা JavaScript এর সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ হলেও এতে কিছু অতিরিক্ত বৈশিষ্ট্য যেমন স্ট্যাটিক টাইপিং, ক্লাস, ইন্টারফেস, এবং মডিউলিং সিস্টেম যোগ করা হয়েছে। TypeScript এর সাহায্যে আপনি JavaScript কোড লিখতে পারেন, তবে এটি উন্নত ফিচারগুলো যেমন টাইপ সেফটি, এবং বাগ কমানোর জন্য স্ট্যাটিক টাইপ সিস্টেম সহ কাজ করতে দেয়।
TypeScript কোডকে JavaScript এ ট্রান্সপাইল (transpile) করে, অর্থাৎ, TypeScript কোডকে JavaScript কোডে রূপান্তরিত করে যেটি ব্রাউজার এবং Node.js পরিবেশে চলতে পারে।
TypeScript এর বৈশিষ্ট্য
স্ট্যাটিক টাইপিং (Static Typing)
JavaScript একটি ডাইনামিক টাইপড ভাষা, যার মানে হলো চলতি সময়ে ভেরিয়েবল বা ফাংশনের টাইপ পরিবর্তিত হতে পারে। কিন্তু TypeScript একটি স্ট্যাটিক টাইপ সিস্টেম প্রদান করে, যার মাধ্যমে আপনি নির্দিষ্ট টাইপ উল্লেখ করতে পারেন। এর ফলে টাইপ সম্পর্কিত ত্রুটিগুলি আগে থেকেই ধরতে পারেন।
let age: number = 25;
let name: string = "John Doe";
এখানে age এবং name এর টাইপ আগে থেকেই নির্দিষ্ট করা হয়েছে।
ক্লাস এবং ইন্টারফেস (Classes and Interfaces)
TypeScript JavaScript এর ক্লাস সিস্টেমকে আরও উন্নত করে, যা OOP (Object-Oriented Programming) ধারণা অনুসারে কাজ করে। এটি ক্লাস এবং ইন্টারফেসের মাধ্যমে কোডের গঠন এবং রক্ষণাবেক্ষণ সহজ করে।
class Person {
name: string;
constructor(name: string) {
this.name = name;
}
}
let person = new Person("John");
এছাড়া, TypeScript এর মাধ্যমে আপনি ইন্টারফেস ব্যবহার করে বিভিন্ন ধরনের অবজেক্টের জন্য টাইপ ডিফাইন করতে পারেন।
মডিউলিং (Modules)
TypeScript এ মডিউল ব্যবহার করা যায়, যার মাধ্যমে কোডকে আলাদা আলাদা ফাইলে ভাগ করে রাখা যায় এবং প্রয়োজনে ইমপোর্ট/এক্সপোর্ট করা যায়। এর ফলে কোড আরও সুসংগঠিত এবং পুনঃব্যবহারযোগ্য হয়।
// utils.ts
export function greet(name: string): string {
return `Hello, ${name}!`;
}
// main.ts
import { greet } from './utils';
console.log(greet("World"));
টাইপ ইনফারেন্স (Type Inference)
TypeScript নিজেই অনেক সময় টাইপ ইনফারেন্স ব্যবহার করে, যার মানে আপনি যদি কোনো ভেরিয়েবল বা ফাংশন টাইপ না দেন, তবে TypeScript স্বয়ংক্রিয়ভাবে টাইপ নির্ধারণ করে নেবে।
let message = "Hello, TypeScript!"; // টাইপ হবে string
জেনেরিক্স (Generics)
TypeScript জেনেরিক্সের মাধ্যমে একাধিক টাইপের জন্য কোড লিখতে সাহায্য করে। এটি পুনঃব্যবহারযোগ্য কোড তৈরি করতে এবং টাইপ সেফটি বজায় রাখতে সহায়ক।
function identity<T>(value: T): T {
return value;
}
TypeScript কেন ব্যবহার করবেন?
কোডের গুণগত মান উন্নত করা
TypeScript এর স্ট্যাটিক টাইপিং কোডের গুণগত মান উন্নত করতে সাহায্য করে। টাইপ চেকিং এর মাধ্যমে ভুলগুলি কমপাইল টাইমেই ধরা যায়, যা ডিবাগিং প্রক্রিয়াকে সহজ করে তোলে।
বড় প্রজেক্টের জন্য উপযুক্ত
TypeScript বড় প্রজেক্টের জন্য বেশ উপযোগী, কারণ এটি কোডের গঠনশীলতা বজায় রাখে এবং একাধিক ডেভেলপারদের জন্য কোড রক্ষণাবেক্ষণ সহজ করে।
আধুনিক JavaScript ফিচার
TypeScript ES6 এবং ES7 এর মতো আধুনিক JavaScript ফিচারগুলো সমর্থন করে, যেমন ক্লাস, মডিউল, অ্যারে ডেস্ট্রাকচারিং, অ্যাসিনক্রোনাস ফাংশন ইত্যাদি।
ব্রাউজার এবং Node.js সাপোর্ট
TypeScript কোড JavaScript এ ট্রান্সপাইল হয়, তাই এটি কোনো ব্রাউজারে বা Node.js পরিবেশে সহজেই চলতে পারে।
TypeScript মূলত JavaScript এর একটি শক্তিশালী সংস্করণ, যা কোডিং অভিজ্ঞতাকে আরও নির্ভুল এবং দক্ষ করে তোলে, বিশেষত বড় আকারের অ্যাপ্লিকেশন এবং প্রজেক্টে।
Read more