টাইপস্ক্রিপ্ট হলো একটি ওপেন সোর্স প্রোগ্রামিং ভাষা, যা JavaScript-এর উপর ভিত্তি করে তৈরি করা হয়েছে এবং এতে স্ট্যাটিক টাইপিং যুক্ত করা হয়েছে। এটি মূলত Microsoft দ্বারা ডেভেলপ করা হয়েছে এবং JavaScript-এর সমস্ত বৈশিষ্ট্যকে সমর্থন করে, পাশাপাশি টাইপ সেফটি এবং উন্নত ডেভেলপমেন্ট টুলিং সরবরাহ করে। TypeScript কে JavaScript এর Superset বলা হয়, কারণ JavaScript বৈধ TypeScript কোড, তবে TypeScript-এ অতিরিক্ত ফিচার যুক্ত করা হয়েছে।
TypeScript হলো Microsoft দ্বারা তৈরি একটি ওপেন-সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা JavaScript এর উপর ভিত্তি করে তৈরি। এটি মূলত বড় এবং জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য ডিজাইন করা হয়েছে, যেখানে স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর সুবিধা প্রদান করে। TypeScript কোডকে JavaScript এ কম্পাইল করা হয়, ফলে এটি যেকোনো ব্রাউজার বা JavaScript ইঞ্জিনে চলতে পারে।
TypeScript ব্যবহার শুরু করতে আপনাকে প্রথমে Node.js এবং npm (Node Package Manager) ইনস্টল করতে হবে। এরপর npm এর মাধ্যমে TypeScript ইনস্টল করা যায়।
Node.js ডাউনলোড এবং ইনস্টল করতে Node.js অফিসিয়াল ওয়েবসাইট এ যান এবং আপনার অপারেটিং সিস্টেম অনুযায়ী ইনস্টলার ডাউনলোড করুন। ইনস্টলার চালু করে নির্দেশনাগুলো অনুসরণ করুন।
টার্মিনাল বা কমান্ড প্রম্পটে নিচের কমান্ডটি চালিয়ে TypeScript গ্লোবালি (globally) ইনস্টল করুন:
npm install -g typescript
ইনস্টলেশন সম্পন্ন হলে, নিচের কমান্ডটি চালিয়ে TypeScript এর ভার্সন যাচাই করতে পারেন:
tsc --version
নতুন একটি প্রজেক্ট ফোল্ডার তৈরি করুন এবং সেই ফোল্ডারে যান:
mkdir my-typescript-project
cd my-typescript-project
tsconfig.json ফাইল তৈরি করাTypeScript প্রজেক্ট কনফিগারেশনের জন্য tsconfig.json ফাইল তৈরি করতে নিচের কমান্ডটি চালান:tsc --init
এটি একটি ডিফল্ট tsconfig.json ফাইল তৈরি করবে, যা TypeScript কম্পাইলারকে কিভাবে কাজ করতে হবে তা নির্দেশ করে।
TypeScript এ ভ্যারিয়েবল ডিক্লেয়ার করার সময় টাইপ নির্ধারণ করা যায়। এটি কোডের ত্রুটি কমাতে সাহায্য করে।
let username: string = "জন ডো";
let age: number = ৩০;
let isStudent: boolean = true;
// অ্যারে ডিক্লেয়ার করা
let scores: number[] = [৯০, ৮৫, ৭৫];
// Tuple ব্যবহার করা
let person: [string, number] = ["জন ডো", ৩০];
TypeScript এ ফাংশনের আর্গুমেন্ট এবং রিটার্ন টাইপ নির্ধারণ করা যায়।
function greet(name: string): string {
return `হ্যালো, ${name}!`;
}
console.log(greet("জন")); // হ্যালো, জন!
ইন্টারফেস ব্যবহার করে অবজেক্টের কাঠামো নির্ধারণ করা যায়।
interface Person {
name: string;
age: number;
greet(): void;
}
let user: Person = {
name: "জন ডো",
age: ৩০,
greet() {
console.log(`হ্যালো, আমার নাম ${this.name} এবং আমি ${this.age} বছর বয়সী।`);
}
};
user.greet(); // হ্যালো, আমার নাম জন ডো এবং আমি ৩০ বছর বয়সী।
TypeScript এ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে ক্লাস ব্যবহার করা যায়।
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(distanceInMeters: number = 0) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
class Dog extends Animal {
bark() {
console.log('Woof! Woof!');
}
}
let dog = new Dog("বুকি");
dog.bark(); // Woof! Woof!
dog.move(১০); // বুকি moved ১০m.
জেনেরিকস ব্যবহার করে ফাংশন, ক্লাস, এবং ইন্টারফেসকে আরো লচিলাইভ করা যায়।
function identityTypeScript কোডকে JavaScript এ কম্পাইল করতে tsc কমান্ড ব্যবহার করা হয়। ধরুন আপনার কাছে একটি app.ts ফাইল রয়েছে:
// app.ts
let message: string = "হ্যালো, TypeScript!";
console.log(message);
কম্পাইল করতে নিচের কমান্ডটি চালান:
tsc app.ts
এটি একটি app.js ফাইল তৈরি করবে:
// app.js
var message = "হ্যালো, TypeScript!";
console.log(message);
আপনি TypeScript ফাইল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে কম্পাইল করতে --watch ফ্ল্যাগ ব্যবহার করতে পারেন:
tsc --watch
ডেকোরেটরস ক্লাস, মেথড, প্রপার্টি, এবং প্যারামিটারকে বিশেষ ভাবে অ্যানোটেট করার জন্য ব্যবহৃত হয়।
function log(target: any, propertyName: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function(...args: any[]) {
console.log(`Method ${propertyName} called with arguments: ${args.join(", ")}`);
return originalMethod.apply(this, args);
};
}
class Calculator {
@log
add(a: number, b: number): number {
return a + b;
}
}
let calc = new Calculator();
calc.add(৫, ১০); // Method add called with arguments: ৫, ১০
Enums ব্যবহার করে নামযুক্ত কনস্ট্যান্ট তৈরি করা যায়।
enum Direction {
Up = ১,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // ১
Namespaces ব্যবহার করে কোডকে লজিক্যাল ইউনিটে বিভক্ত করা যায়।
namespace Geometry {
export class Rectangle {
constructor(public width: number, public height: number) {}
area(): number {
return this.width * this.height;
}
}
}
let rect = new Geometry.Rectangle(৫, ১০);
console.log(rect.area()); // ৫০
TypeScript বড় এবং জটিল প্রজেক্টের জন্য উপযুক্ত, যেখানে JavaScript ছোট এবং দ্রুত প্রজেক্টের জন্য ভালো। TypeScript এর স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যগুলি কোডকে আরও মেইনটেনেবল এবং রিইউজেবল করে তোলে, তবে এটি কম্পাইলেশন প্রক্রিয়া যুক্ত করে। যদি আপনি বড় প্রজেক্টে কাজ করেন এবং কোডের স্থিতিশীলতা চান, তবে TypeScript একটি চমৎকার পছন্দ। অন্যদিকে, ছোট প্রজেক্ট বা দ্রুত প্রোটোটাইপ তৈরির জন্য JavaScript যথেষ্ট।
TypeScript হলো একটি শক্তিশালী এবং উন্নত JavaScript সুপারসেট, যা বড় এবং জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য আদর্শ। এর স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যগুলি কোডকে আরও মেইনটেনেবল এবং রিইউজেবল করে তোলে। যদিও TypeScript এর জন্য অতিরিক্ত কম্পাইলেশন প্রক্রিয়া প্রয়োজন এবং শেখার কিছুটা সময় লাগে, তবুও বড় প্রজেক্টের জন্য এটি অত্যন্ত কার্যকরী। যদি আপনি উন্নত টুলিং সাপোর্ট, মডুলারাইজড কোড, এবং কোডের স্থিতিশীলতা চান, তবে TypeScript আপনার জন্য উপযুক্ত একটি পছন্দ।
টাইপস্ক্রিপ্ট হলো একটি ওপেন সোর্স প্রোগ্রামিং ভাষা, যা JavaScript-এর উপর ভিত্তি করে তৈরি করা হয়েছে এবং এতে স্ট্যাটিক টাইপিং যুক্ত করা হয়েছে। এটি মূলত Microsoft দ্বারা ডেভেলপ করা হয়েছে এবং JavaScript-এর সমস্ত বৈশিষ্ট্যকে সমর্থন করে, পাশাপাশি টাইপ সেফটি এবং উন্নত ডেভেলপমেন্ট টুলিং সরবরাহ করে। TypeScript কে JavaScript এর Superset বলা হয়, কারণ JavaScript বৈধ TypeScript কোড, তবে TypeScript-এ অতিরিক্ত ফিচার যুক্ত করা হয়েছে।
TypeScript হলো Microsoft দ্বারা তৈরি একটি ওপেন-সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা JavaScript এর উপর ভিত্তি করে তৈরি। এটি মূলত বড় এবং জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য ডিজাইন করা হয়েছে, যেখানে স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর সুবিধা প্রদান করে। TypeScript কোডকে JavaScript এ কম্পাইল করা হয়, ফলে এটি যেকোনো ব্রাউজার বা JavaScript ইঞ্জিনে চলতে পারে।
TypeScript ব্যবহার শুরু করতে আপনাকে প্রথমে Node.js এবং npm (Node Package Manager) ইনস্টল করতে হবে। এরপর npm এর মাধ্যমে TypeScript ইনস্টল করা যায়।
Node.js ডাউনলোড এবং ইনস্টল করতে Node.js অফিসিয়াল ওয়েবসাইট এ যান এবং আপনার অপারেটিং সিস্টেম অনুযায়ী ইনস্টলার ডাউনলোড করুন। ইনস্টলার চালু করে নির্দেশনাগুলো অনুসরণ করুন।
টার্মিনাল বা কমান্ড প্রম্পটে নিচের কমান্ডটি চালিয়ে TypeScript গ্লোবালি (globally) ইনস্টল করুন:
npm install -g typescript
ইনস্টলেশন সম্পন্ন হলে, নিচের কমান্ডটি চালিয়ে TypeScript এর ভার্সন যাচাই করতে পারেন:
tsc --version
নতুন একটি প্রজেক্ট ফোল্ডার তৈরি করুন এবং সেই ফোল্ডারে যান:
mkdir my-typescript-project
cd my-typescript-project
tsconfig.json ফাইল তৈরি করাTypeScript প্রজেক্ট কনফিগারেশনের জন্য tsconfig.json ফাইল তৈরি করতে নিচের কমান্ডটি চালান:tsc --init
এটি একটি ডিফল্ট tsconfig.json ফাইল তৈরি করবে, যা TypeScript কম্পাইলারকে কিভাবে কাজ করতে হবে তা নির্দেশ করে।
TypeScript এ ভ্যারিয়েবল ডিক্লেয়ার করার সময় টাইপ নির্ধারণ করা যায়। এটি কোডের ত্রুটি কমাতে সাহায্য করে।
let username: string = "জন ডো";
let age: number = ৩০;
let isStudent: boolean = true;
// অ্যারে ডিক্লেয়ার করা
let scores: number[] = [৯০, ৮৫, ৭৫];
// Tuple ব্যবহার করা
let person: [string, number] = ["জন ডো", ৩০];
TypeScript এ ফাংশনের আর্গুমেন্ট এবং রিটার্ন টাইপ নির্ধারণ করা যায়।
function greet(name: string): string {
return `হ্যালো, ${name}!`;
}
console.log(greet("জন")); // হ্যালো, জন!
ইন্টারফেস ব্যবহার করে অবজেক্টের কাঠামো নির্ধারণ করা যায়।
interface Person {
name: string;
age: number;
greet(): void;
}
let user: Person = {
name: "জন ডো",
age: ৩০,
greet() {
console.log(`হ্যালো, আমার নাম ${this.name} এবং আমি ${this.age} বছর বয়সী।`);
}
};
user.greet(); // হ্যালো, আমার নাম জন ডো এবং আমি ৩০ বছর বয়সী।
TypeScript এ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সমর্থন করে ক্লাস ব্যবহার করা যায়।
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(distanceInMeters: number = 0) {
console.log(`${this.name} moved ${distanceInMeters}m.`);
}
}
class Dog extends Animal {
bark() {
console.log('Woof! Woof!');
}
}
let dog = new Dog("বুকি");
dog.bark(); // Woof! Woof!
dog.move(১০); // বুকি moved ১০m.
জেনেরিকস ব্যবহার করে ফাংশন, ক্লাস, এবং ইন্টারফেসকে আরো লচিলাইভ করা যায়।
function identityTypeScript কোডকে JavaScript এ কম্পাইল করতে tsc কমান্ড ব্যবহার করা হয়। ধরুন আপনার কাছে একটি app.ts ফাইল রয়েছে:
// app.ts
let message: string = "হ্যালো, TypeScript!";
console.log(message);
কম্পাইল করতে নিচের কমান্ডটি চালান:
tsc app.ts
এটি একটি app.js ফাইল তৈরি করবে:
// app.js
var message = "হ্যালো, TypeScript!";
console.log(message);
আপনি TypeScript ফাইল পরিবর্তন হলে স্বয়ংক্রিয়ভাবে কম্পাইল করতে --watch ফ্ল্যাগ ব্যবহার করতে পারেন:
tsc --watch
ডেকোরেটরস ক্লাস, মেথড, প্রপার্টি, এবং প্যারামিটারকে বিশেষ ভাবে অ্যানোটেট করার জন্য ব্যবহৃত হয়।
function log(target: any, propertyName: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function(...args: any[]) {
console.log(`Method ${propertyName} called with arguments: ${args.join(", ")}`);
return originalMethod.apply(this, args);
};
}
class Calculator {
@log
add(a: number, b: number): number {
return a + b;
}
}
let calc = new Calculator();
calc.add(৫, ১০); // Method add called with arguments: ৫, ১০
Enums ব্যবহার করে নামযুক্ত কনস্ট্যান্ট তৈরি করা যায়।
enum Direction {
Up = ১,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // ১
Namespaces ব্যবহার করে কোডকে লজিক্যাল ইউনিটে বিভক্ত করা যায়।
namespace Geometry {
export class Rectangle {
constructor(public width: number, public height: number) {}
area(): number {
return this.width * this.height;
}
}
}
let rect = new Geometry.Rectangle(৫, ১০);
console.log(rect.area()); // ৫০
TypeScript বড় এবং জটিল প্রজেক্টের জন্য উপযুক্ত, যেখানে JavaScript ছোট এবং দ্রুত প্রজেক্টের জন্য ভালো। TypeScript এর স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যগুলি কোডকে আরও মেইনটেনেবল এবং রিইউজেবল করে তোলে, তবে এটি কম্পাইলেশন প্রক্রিয়া যুক্ত করে। যদি আপনি বড় প্রজেক্টে কাজ করেন এবং কোডের স্থিতিশীলতা চান, তবে TypeScript একটি চমৎকার পছন্দ। অন্যদিকে, ছোট প্রজেক্ট বা দ্রুত প্রোটোটাইপ তৈরির জন্য JavaScript যথেষ্ট।
TypeScript হলো একটি শক্তিশালী এবং উন্নত JavaScript সুপারসেট, যা বড় এবং জটিল ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য আদর্শ। এর স্ট্যাটিক টাইপিং এবং অবজেক্ট-ওরিয়েন্টেড বৈশিষ্ট্যগুলি কোডকে আরও মেইনটেনেবল এবং রিইউজেবল করে তোলে। যদিও TypeScript এর জন্য অতিরিক্ত কম্পাইলেশন প্রক্রিয়া প্রয়োজন এবং শেখার কিছুটা সময় লাগে, তবুও বড় প্রজেক্টের জন্য এটি অত্যন্ত কার্যকরী। যদি আপনি উন্নত টুলিং সাপোর্ট, মডুলারাইজড কোড, এবং কোডের স্থিতিশীলতা চান, তবে TypeScript আপনার জন্য উপযুক্ত একটি পছন্দ।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?