TypeScript from Scratch in 2025: A Practical Guide

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

Introduction: Why Learn TypeScript in 2025?

The world of frontend development is changing rapidly, but one thing remains constant — TypeScript continues to strengthen its position as the de facto standard for large projects. In 2025, it is not just a "superset of JavaScript," but a full-fledged tool that helps you write more reliable, predictable, and scalable code. Whether you are a beginner developer or transitioning from vanilla JavaScript, this guide will walk you through the first steps: from installation to writing meaningful code.

In this article, we will cover practical aspects: how to set up the environment, master basic types, and get acquainted with interfaces and generics. You will see that TypeScript does not complicate development, but rather saves hours of debugging.



1. Installing and Configuring TypeScript in 2025

The first step is installing the TypeScript compiler. In 2025, the most convenient way is to use Node.js and the npm (or yarn) package manager. Make sure Node.js version 20+ is installed.

# Install TypeScript globallynpm install -g typescript

# Check the versiontsc --version

Now create a folder for the project and initialize it:

mkdir my-first-tscd my-first-tsnpm init -y

Next, let's create a configuration file tsconfig.json. This is the heart of any TypeScript project, where you specify compilation settings.

tsc --init

After running the command, a file with many options will appear. For a start, it's enough to leave the default settings. The main thing is to ensure the strict: true option is enabled (it is enabled by default). This will force you to write higher quality code.

The project structure in 2025 often includes src (source files) and dist (compiled files) folders. Create them:

mkdir src dist

And add to tsconfig.json:

{  "compilerOptions": {    "outDir": "./dist",    "rootDir": "./src",    "strict": true,    "target": "ES2022",    "module": "ESNext"  },  "include": ["src/**/*"]}

Now create the first file src/index.ts and write some simple code:

// src/index.tsfunction greet(name: string): string {  return `Hello, ${name}! Welcome to TypeScript.`;}

const userName: string = "Alexey";console.log(greet(userName));

Compile it with the command tsc. The index.js file will appear in the dist folder. Run it via Node.js: node dist/index.js. You will see the greeting. Congratulations, you have written your first TypeScript program!



2. Basics of Types: Static Typing in Practice

The main advantage of TypeScript is its type system. In 2025, it has become even more flexible. Let's look at the basic types you will use every day.

Primitive Types

These include string, number, boolean, null, undefined, symbol, and bigint. TypeScript automatically infers the type if it is obvious:

let age: number = 25;        // explicit declarationlet name = "Maria";          // TypeScript will infer stringlet isActive = true;         // will infer boolean

Arrays and Tuples

Arrays in TypeScript can be homogeneous or heterogeneous (tuples).

// Array of numberslet scores: number[] = [10, 20, 30];

// Alternative syntaxlet scores2: Array<number> = [10, 20, 30];

// Tuple (fixed length and types)let person: [string, number] = ["Ivan", 30];

The any and unknown Types

Avoid any — it disables type checking. Instead, use unknown if the type is unknown:



                
                

Blogs

Book Recommendations