TypeScript
Introduction
TypeScript (TS) is a strongly typed, object-oriented programming language that extends JavaScript by adding static types. Developed by Microsoft, TypeScript is designed for scalability, maintainability, and developer productivity. It compiles down to JavaScript and is widely used in frontend and backend development.
Why Use TypeScript?
Static Typing – Catches errors at compile time.
Better Code Maintainability – Enforces coding standards and documentation.
Object-Oriented Features – Supports interfaces, classes, and modules.
Works with JavaScript – TypeScript is a superset of JavaScript.
Great for Large-Scale Projects – Used by companies like Microsoft, Google, and Airbnb.
IDE Support – Enhanced autocompletion, refactoring, and type checking in VS Code.
Installing TypeScript
1️⃣ Install TypeScript
Install Globally Using npm
npm install -g typescript
2️⃣ Writing Your First TypeScript Program
Create a new file hello.ts
and add:
function greet(name: string): string {
return `Hello, ${name}!`;
}
console.log(greet("TypeScript 🚀"));
Compile & Run the Code
tsc hello.ts # Compiles to hello.js
node hello.js # Runs the JavaScript output
Output: "Hello, TypeScript 🚀"
TypeScript Basics
1️⃣ Variables & Data Types
let firstName: string = "Alice";
let age: number = 25;
let isDeveloper: boolean = true;
const skills: string[] = ["TypeScript", "React", "Node.js"];
console.log(firstName, age, isDeveloper, skills);
2️⃣ Functions in TypeScript
function add(a: number, b: number): number {
return a + b;
}
console.log(add(5, 3)); // Output: 8
Optional & Default Parameters:
function greet(name: string, lang: string = "English"): string {
return `Hello, ${name}! Language: ${lang}`;
}
console.log(greet("Alice"));
console.log(greet("Bob", "French"));
3️⃣ Interfaces in TypeScript
Define an Interface
interface User {
name: string;
age: number;
isAdmin?: boolean; // Optional Property
}
const user: User = { name: "Alice", age: 25 };
console.log(user);
4️⃣ Classes & Object-Oriented Programming (OOP)
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet(): string {
return `Hello, my name is ${this.name}.`;
}
}
const person1 = new Person("Alice", 30);
console.log(person1.greet());
TypeScript for Web Development
1️⃣ Setting Up a TypeScript Project
Initialize a TypeScript Project
tsc --init
This creates a tsconfig.json
file to configure TypeScript.
2️⃣ Using TypeScript with React (Frontend)
Create a React App with TypeScript
npx create-react-app my-app --template typescript
Using TypeScript in React
interface ButtonProps {
label: string;
}
const Button: React.FC<ButtonProps> = ({ label }) => {
return <button>{label}</button>;
};
export default Button;
3️⃣ Using TypeScript with Node.js (Backend)
Install Required Packages
npm install express cors body-parser
npm install --save-dev @types/node @types/express
Create a TypeScript Express Server
import express, { Request, Response } from "express";
const app = express();
const PORT = 3000;
app.get("/", (req: Request, res: Response) => {
res.send("Hello from TypeScript Express Server!");
});
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
Run
tsc && node dist/index.js
Last updated
Was this helpful?