
JavaScript মডার্ন ওয়েব ডেভেলপমেন্টের মূল চালিকাশক্তি হলেও, অ্যাপ্লিকেশন বড় হওয়ার সাথে সাথে বাগ ধরা এবং কোড মেইনটেইন করা কঠিন হয়ে পড়ে। TypeScript হলো Microsoft-এর তৈরি একটি ওপেন-সোর্স ল্যাঙ্গুয়েজ, যা JavaScript-এর ওপর একটি Statically Typed Superset হিসেবে কাজ করে। এটি ডেভেলপমেন্টের সময়ই টাইপ সেফটি নিশ্চিত করে এবং কোড রান করার আগে ক্লিন JavaScript-এ কম্পাইল হয়।
Static Typing: রানটাইমে এরর খাওয়ার বদলে ডেভেলপমেন্ট বা কোড লেখার সময়ই টাইপ-সম্পর্কিত বাগগুলো ধরা পড়ে।
Better Developer Experience: চমৎকার IDE সাপোর্ট, দ্রুত Auto-completion (IntelliSense) এবং সহজে কোড Refactor করার সুবিধা।
Self-Documenting Code: ভ্যারিয়েবল এবং ফাংশনের টাইপ উল্লেখ থাকায় কোড নিজে থেকেই একটি ডকুমেন্টেশনের মতো কাজ করে, ফলে টিমের অন্য ডেভেলপারদের বুঝতে সুবিধা হয়।
Object-Oriented Programming (OOP): বড় স্কেলের অ্যাপ্লিকেশনের জন্য Interfaces, Generics, এবং Access Modifiers-এর মতো আধুনিক ফিচার সরবরাহ করে।
Smooth JavaScript Migration: যেকোনো ভ্যালিড JavaScript কোডই TypeScript-এ কাজ করে। তাই বিদ্যমান প্রোজেক্টে ধীরে ধীরে TypeScript অ্যাডপ্ট করা সম্ভব।
TypeScript গ্লোবালি ইন্সটল করার কমান্ড:
Bash
npm install -g typescript
সঠিকভাবে ইন্সটল হয়েছে কিনা চেক করতে:
Bash
tsc --version
ডেটা টাইপ যেমন string, number, বা boolean সরাসরি উল্লেখ করা যায়:
TypeScript
let name: string = "John";
let age: number = 30;
let isDeveloper: boolean = true;
ফাংশনের প্যারামিটার এবং রিটার্ন ভ্যালুর টাইপ নির্দিষ্ট করে দেওয়া:
TypeScript
function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet("Alice"));
যেকোনো অবজেক্টের স্ট্রাকচার বা ব্লুপ্রিন্ট ডিফাইন করার জন্য ইন্টারফেস ব্যবহার করা হয়:
TypeScript
interface User {
id: number;
name: string;
isAdmin: boolean;
}
const user: User = {
id: 1,
name: "John",
isAdmin: true
};
অবজেক্ট-ওরিয়েন্টেড স্টাইলে কোড লেখার জন্য private, public, বা protected মডিফায়ার ব্যবহার:
TypeScript
class Person {
constructor(private name: string, private age: number) {}
introduce(): string {
return `My name is ${this.name} and I am ${this.age} years old.`;
}
}
const person = new Person("Alice", 25);
console.log(person.introduce());
রিইউজেবল (Reusable) এবং টাইপ-সেফ ফাংশন বা কম্পোনেন্ট তৈরি করতে:
TypeScript
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
console.log(identity<number>(42));
tsconfig.json)প্রোজেক্টের রুট ডিরেক্টরিতে কম্পাইলার সেটিংস কনফিগার করতে tsconfig.json তৈরি করুন:
JSON
{
"compilerOptions": {
"target": "ES6",
"module": "CommonJS",
"strict": true,
"outDir": "./dist"
},
"include": ["src/**/*"]
}
TypeScript ফাইল কম্পাইল করার জন্য রান করুন:
Bash
tsc
JavaScript-এর ফ্লেক্সিবিলিটির সাথে এন্টারপ্রাইজ-লেভেল নির্ভরযোগ্যতা যোগ করতে TypeScript বর্তমানে ফ্রন্টএন্ড এবং ব্যাকএন্ড—উভয় ডেভেলপমেন্টের জন্যই একটি স্ট্যান্ডার্ড ইন্ডাস্ট্রি চয়েস।