---
title: TypeScript
description: TypeScript adds static types to JavaScript. You will learn type annotations, interfaces, generics, narrowing and the compiler configuration needed to write large, maintainable front-end and Node applications.
category: programming-tech
subcategory: programming-languages
difficulty: beginner, intermediate, advanced
url: /subject/typescript
---

# TypeScript

TypeScript adds static types to JavaScript. You will learn type annotations, interfaces, generics, narrowing and the compiler configuration needed to write large, maintainable front-end and Node applications.

## Available Resources

2 Books • 3 Websites

## Websites

### 1. TSConfig Reference

Option-by-option documentation of tsconfig.json from the TypeScript team: strictness flags, module resolution, emit, JSX, interop and project references, each with examples, defaults and the version that introduced it. Use it to configure a project deliberately rather than copying someone else's file.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://www.typescriptlang.org/tsconfig/

**Tags:** typescript, tsconfig, compiler-options, module-resolution

### 2. Type Challenges

Around 190 puzzles solved purely in the type system, graded warm-up through extreme, each with an online judge and published community solutions. Working through them builds real fluency with conditional types, infer, recursion and template literal types.

**Difficulty:** Advanced | **Language:** English | **Price:** Free

**Link:** https://github.com/type-challenges/type-challenges

**Tags:** typescript, type-level-programming, conditional-types, template-literal-types

### 3. The TypeScript Handbook

The official documentation written by the language team: everyday types, narrowing, functions, objects, generics, conditional and mapped types, modules and project configuration. After reading it you can annotate code and read compiler errors without guessing.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://www.typescriptlang.org/docs/handbook/intro.html

**Tags:** typescript, type-system, generics, type-narrowing

## Books

### 1. Effective TypeScript: 83 Specific Ways to Improve Your TypeScript (2nd ed.)

**Author:** Dan Vanderkam

The field's bible for the gap between 'my code compiles' and 'my types are good'.  Eighty-three short items on TypeScript idioms and pitfalls, revised for TypeScript 5, covering structural typing, inference, type-level programming, declaration files and migrating JavaScript. Finish it and you can judge competing type designs and say why one is safer.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/1098155068?tag=edmonddante07-20

**Tags:** typescript, type-design, type-inference, javascript-migration

### 2. Total TypeScript: Essentials

**Author:** Matt Pocock

The best single guided path from 'I know JavaScript' to 'I am confident in TypeScript'. Editor-first method: it teaches you to read tsc's error messages and use hover types as the feedback loop, which is the transferable skill. Matt Pocock's sixteen-chapter book, free to read in full online, taking a JavaScript developer through annotations, unions, narrowing, objects, classes, modules, generics and tsconfig setup. Finish it and you can type a React or Node codebase unaided.

**Difficulty:** Beginner | **Language:** English | **Price:** Free

**Link:** https://www.totaltypescript.com/books/total-typescript-essentials

**Tags:** typescript, generics, type-narrowing, tsconfig, javascript-to-typescript

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/typescript