# The TypeScript Guide

> TypeScript adds types to JavaScript. Start here to learn the language, fix common errors, and go deeper with the free handbook and course.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2019-01-11 | Updated: 2026-07-14 | Topics: [TypeScript](https://flaviocopes.com/tags/typescript/) | Canonical: https://flaviocopes.com/typescript/

TypeScript is JavaScript with types. You write code that looks almost identical to JavaScript, but the compiler catches a whole class of bugs before your code even runs.

It's everywhere now. Most popular libraries ship with type definitions, and most new projects start with TypeScript by default.

This page is your starting point for TypeScript on this site. I keep it updated with the best resources I have on the topic.

## Where to start

Start here to get the fundamentals down:

1. [TypeScript type for a string or array of strings](https://flaviocopes.com/typescript-declare-a-type-that-can-be-a-string-or-array-of-strings/) shows you union types, one of the features you'll use every day
2. [Object destructuring with types in TypeScript](https://flaviocopes.com/typescript-object-destructuring/) covers a syntax that trips up almost everyone coming from JavaScript
3. [Zod: Type-Safe Schema Validation for TypeScript](https://flaviocopes.com/zod/) is what you reach for when data comes from outside your code, like an API or a form

## Fixing common problems

Compiler errors are part of daily TypeScript life. This one comes up all the time:

- [Disable TypeScript 'declared but never read' check](https://flaviocopes.com/typescript-disable-declared-never-read/)

## Go deeper

The posts above cover specific problems. For a structured path through the whole language, grab the free [TypeScript Handbook](https://flaviocopes.com/ebooks/typescript-handbook/).

And if you want to go from zero to confident with types, generics, narrowing and everything in between, the [TypeScript Masterclass](https://flaviocopes.com/courses/typescript) is the complete course I built for that.

You can browse everything I wrote about TypeScript in [the typescript tag](https://flaviocopes.com/tags/typescript/).
