The #1 TypeScript book for JavaScript developers out today
Learning TypeScript will take you from knowing nothing about "types" or a "type system" to full mastery of the fundamentals of TypeScript.
Get it on:
Projects
Hands on real world projects that will help you exercise your knowledge of TypeScript.
The Typeinator
π₯ Appetizer Project
System of a Clown
π₯ Appetizer Project
Primitive Cooking
π₯ Appetizer Project
The Narrow Trail
π² Entree Project
Various Lawyerings
π₯ Appetizer Project
The Typer
π² Entree Project
Articles
Top tips and tricks for why TypeScript behaves the way it does, and how you can work effectively with it.
Branded Types
How the concept of branded types allows describing primitives more precisely than TypeScript normally allows.
Why TypeScript Doesn't Include a `throws` Keyword
Why a `throws` keyword has not been added to TypeScript, despite some other languages having an equivalent.
Narrowing Function Parameters With Rests And Tuples
Using rest parameters and tuples to apply union type narrowing to a function's parameters
Why TypeScript Doesn't Follow Strict Semantic Versioning
Why it's not practically feasible -or desirable- for a programming language like TypeScript to use strict semantic versioning for its releases.
Why Increase Your TSConfig `target`
Why you should increase the compilerOptions.target value in your TSConfig to as recent an ECMAScript version as you can.
The `satisfies` Operator
How TypeScript's new `satisfies` operator brings the best of type annotations and default type inference.
Objects, Functions, and Type Narrowing
Diving into why TypeScript doesn't narrow object types before they're modified.
Extreme Explorations of TypeScript's Type System
Some of the most creative, wacky explorations of what you can do in TypeScript's type system!
Void-Returning Function Assignability
Why functions that return a value are assignable to void-returning function types in TypeScript.
References in the Learning TypeScript Book
An exhaustive list of all the easter eggs and general references in the Learning TypeScript book.
Read the
Learning TypeScript
Book
Get it on O'Reilly βIf you find this website useful, consider diving into the full Learning TypeScript book on O'Reilly.
Go from knowing nothing about βtypesβ or "type systems" to full mastery of TypeScript fundamentals β whether you're a beginner or advanced JavaScript programmer.
About the author
Josh Goldberg
Hi, I'm Josh! I'm a full time independent open source developer with a passion for static analysis, and the web. I'm a full time open source maintainer and work on projects in the TypeScript ecosystem such as typescript-eslint and TypeStat. I'm passionate about bringing accessible education to the masses in a sustainable way.Visit my Site β