TypeScript
Last updated 1 month and 27 days ago - September 3, 2023
Free courses
- Learn TypeScript
- Academind - TypeScript Course for Beginners - Learn TypeScript from Scratch!
- No BS TS Series by Jack Herrington
- Exercism - Learn TypeScript by doing exercises
- Matt Pocock - TypeScript exercises for beginners
- How to Learn and Use TypeScript: A Comprehensive Beginner’s Guide
Polish free courses
- Przeprogramowani - Seria Przeprogramowani.ts
- Jak zacząć programować? - Typescript - kurs podstaw 🔥 Tutorial krok po kroku!
Paid courses
- Academind - Understanding TypeScript
- Matt Pocock - Total TypeScript (for intermediate/advanced TypeScript developers)
Polish paid courses
Additional content
Core concepts
- Matt Pocock - Should you use Types or Interfaces?
- Mapped types
- Type helpers
- How to use @ts-expect-error
- Object types
- Matt Pocock -
as const
Annotations - the most underrated TypeScript feature - Literal types
- The
any
type - Union types
- Matt Pocock - TypeScript’s weirdest type
- Matt Pocock - Infer is easier than you think
- Matt Pocock - learn const generics
Tips compilations
- Matt Pocock’s collection of TypeScript tips
- Matt Pocock’s list of articles
- TypeScript tips and Tricks with Matt Pocock
- The
Prettify
Helper - how to make type intersections cleaner - The
PropertyKey
Type - Matt Pocock - ts-reset library (Does this library fixes TypeScript?)
- Matt Pocock - how to type URLSearchParams the best way?
Common mistakes
- Matt Pocock - Enums considered harmful
- Matt Pocock - Don’t use explicit return types, unless…
- Matt Pocock - This TS naming convention is weird
- Matt Pocock - You’re typing process.env wrong
- Matt Pocock - Don’t put your types here
- Matt Pocock - Solving the ‘any’ problem is harder than you think
- TypeScript Features to Avoid
- Theo - ping.gg - You Might Be Using TypeScript Wrong… (how to use TypeScript the most effective way?)
Common errors and how to fix them
- Expression of type string can’t be used to index type X
- Option ‘module’ must be set to ‘NodeNext’
- Property ‘X’ does not exist on type ‘Y’
- Explained: An Interface Can Only Extend an Object Type (“An interface can only extend an object type or intersection of object types with statically known members.“)
- Object is of type ‘unknown’
Validation
- Matt Pocock - Learn Zod
- Matt Pocock - Blazing Fast Tips: Build ANYTHING with Zod + Generics
- Jack Herrington - Fixing TypeScript’s Blind spot: Runtime Typechecking
Tools
- Josh tries coding - This Makes TypeScript Errors So Much Better (Pretty TypeScript Errors extension)
- TypeScript Error Translator (VS Code extension to understand TypeScript errors)
- Convert JS objects to TypeScript (a tricky way to do it):
- Matt Pocock - Automate your life with TypeScript