Web
HTML
CSS
JavaScript
TypeScript
Frontend
React
Next.js
AngularJS
Backend
Node.js
Python
Java
PHP
C
C++
Rust
Databases
SQL
MySQL
PostgreSQL
MongoDB
Tools
Git
DSA
HTML
CSS
JavaScript
SQL
Python
Java
PHP
React
Nextjs
MySQL
PostgreSQL
MongoDB
C
Cpp
Rust
Git
TypeScript
NodeJS
AngularJS
DSA
TypeScript
Overview
Learn TypeScript
This is a starter landing page for TypeScript. Replace this paragraph with a short, friendly description of the topic and what readers will learn from the tutorial series.
Tutorial contents
Introduction to TypeScript
What Is TypeScript?
Why Use TypeScript?
TypeScript vs JavaScript
Installation & Setup
Your First Program
The Compiler (tsc)
tsconfig.json
Running TS (ts-node, tsx, bundlers)
Basic Types Overview
Primitives (string, number, boolean)
Arrays
Tuples
Object Types
any vs unknown
void & never
null & undefined
Type Inference
Type Annotations
Union Types
Intersection Types
Literal Types
Type Aliases
Enums
const Assertions (as const)
Interfaces
Interfaces vs Type Aliases
Optional & Readonly Properties
Index Signatures
Extending & Merging Interfaces
Call & Construct Signatures
Function Types
Parameters (optional, default, rest)
Return Types
Function Overloads
The this Parameter
Function Type Expressions
Type Narrowing
typeof Guards
instanceof & in Operators
Truthiness & Equality Narrowing
User-Defined Type Guards (is)
Assertion Functions (asserts)
Discriminated Unions
Exhaustiveness Checking (never)
Type Assertions (as)
Non-null Assertion (!)
The satisfies Operator
Generics Introduction
Generic Functions
Generic Interfaces & Types
Generic Classes
Generic Constraints (extends)
Default Type Parameters
Common Generic Patterns
keyof Operator
typeof Type Operator
Indexed Access Types
Conditional Types
infer Keyword
Mapped Types
Mapped Type Modifiers & Key Remapping
Template Literal Types
Recursive Types
Utility Types Overview
Partial & Required
Pick & Omit
Record
Readonly & ReadonlyArray
Exclude & Extract
NonNullable
ReturnType & Parameters
Awaited
Building Custom Utility Types
Classes Overview
Access Modifiers (public, private, protected)
Readonly Members & Parameter Properties
Getters & Setters
Static Members
Abstract Classes
Implementing Interfaces
Inheritance & super
Decorators
Modules (import / export)
Module Resolution
Namespaces
Type-Only Imports & Exports
Path Aliases & Barrel Files
Declaration Files (.d.ts)
The declare Keyword
Ambient Modules & Globals
DefinitelyTyped (@types)
Writing Your Own Declarations
Declaration Merging
Strict Mode
Strictness Flags Explained
Key Compiler Options
Project References & Monorepos
TypeScript with React
Typing Props, State & Hooks
TypeScript with Node.js
Typing APIs & Fetch
TypeScript with Express
Type-Level Programming
Branded & Nominal Types
Variance (covariance, contravariance)
Advanced Type Patterns
Migrating from JavaScript
Types in JSDoc
Best Practices
Do's & Don'ts
Common Errors & Fixes
TypeScript Cheatsheet
Utility Types Reference
tsconfig Reference
Interview Questions