โ† Back to Tutorials
TypeScript 30-Day Journey
TS

TypeScript 30-Day Journey

From Beginner to Master - Complete Guide

typescript beginner

Day 1: Introduction to TypeScript & Environment Setup

Start your 30-day journey! Learn what TypeScript is, why it matters, and set up your development environment.

Read Article
typescript beginner

Day 2: Primitive Types: The Building Blocks

Master the core primitive types in TypeScript: string, number, boolean, and more. Learn type inference and annotation.

Read Article
typescript beginner

Day 3: Arrays and Tuples

Learn how to handle lists of data with Arrays and fixed-length collections with Tuples in TypeScript.

Read Article
typescript beginner

Day 4: Objects and Type Aliases

Understand how to structure complex data with Objects and simplify your code using Type Aliases.

Read Article
typescript beginner

Day 5: Interfaces vs. Type Aliases

The age-old question: Interface or Type? Learn the differences, similarities, and when to use which.

Read Article
typescript beginner

Day 6: Functions in TypeScript

Learn how to type function arguments, return values, and optional parameters.

Read Article
typescript beginner

Day 7: The Any, Unknown, and Never Types

Understanding the special types in TypeScript. When to use them, and more importantly, when to avoid them.

Read Article
typescript oop

Day 8: Introduction to Classes

Dive into Object-Oriented Programming (OOP) with TypeScript Classes. Constructors, properties, and methods.

Read Article
typescript oop

Day 9: Access Modifiers

Control who can see and modify your class members using Public, Private, and Protected.

Read Article
typescript oop

Day 10: Inheritance and Abstract Classes

Learn how to extend classes to reuse logic and use Abstract Classes to define contracts for sub-classes.

Read Article
typescript oop

Day 11: Static Members and Getters/Setters

Master shared class data with Statics and control property access with Getters and Setters.

Read Article
typescript oop

Day 12: Implementing Interfaces in Classes

Enforce class structure using Interfaces. Learn the `implements` keyword.

Read Article
typescript types

Day 13: Union and Intersection Types

Combine types to create flexible and precise definitions using Union (|) and Intersection (&) operators.

Read Article
typescript types

Day 14: Literal Types and Enums

Lock down your types to specific values using Literal Types and Enums. Choose the right one for your use case.

Read Article
typescript generics

Day 15: Generics - Making Reusable Code

Donโ€™t repeat yourself. Use Generics to create reusable, type-safe components and functions.

Read Article
typescript generics

Day 16: Generic Constraints

Stop using "any" in Generics. Learn how to constrain your types to ensure they have the properties you need.

Read Article
typescript types

Day 17: Type Guards and Narrowing

Master the art of runtime type checking. Use typeof, instanceof, and custom type predicates.

Read Article
typescript types

Day 18: Discriminated Unions

The most elegant pattern in TypeScript. Handle complex state and logic with ease using tagged unions.

Read Article
typescript types

Day 19: The keyof Operator

Unlock the power of index queries. Learn how to extract keys from a type and use them.

Read Article
typescript types

Day 20: Utility Types

Partial, Pick, Omit, Readonly... TypeScript comes with a toolkit. Learn how to use it.

Read Article
typescript types

Day 21: Mapped Types

Create new types based on old ones by iterating over keys. The foundation of Utility Types.

Read Article
typescript types

Day 22: Conditional Types

Ternary operators for types? Yes. Learn how to choose types based on conditions.

Read Article
typescript types

Day 23: Template Literal Types

Manipulate string types with template literal syntax. Create powerful string pattern types.

Read Article
typescript async

Day 24: Async/Await and Promises

Handling asynchronous operations in TypeScript. Typing Promises and async functions correctly.

Read Article
typescript modules

Day 25: Modules and Namespaces

Organize your code with ES Modules. Import, Export, and deciding when to use Namespaces (spoiler: rarely).

Read Article
typescript config

Day 26: Declaration Files (.d.ts)

Using legacy JS libraries? Learn how to write .d.ts files to describe types for libraries that don't have them.

Read Article
typescript config

Day 27: Configuration Deep Dive (tsconfig.json)

Master the compiler. Understand strict mode, target versions, paths, and build options.

Read Article
typescript tools

Day 28: Linting and Formatting

Keep your code clean and consistent. Integrating ESLint and Prettier with TypeScript.

Read Article
typescript project

Day 29: Project - Type-Safe API Client

Putting it all together. Build a generic, type-safe API client wrapper using fetch.

Read Article
typescript finale

Day 30: Final Recap and Publishing

You did it! A review of the journey and next steps: publishing your own NPM package.

Read Article