Technologies
Languages
Matt Pocok
Matt Pocok initially worked as a voice coach before switching into software development world, including positions at Vercel and Stately. As for the current time, Matt is fully focused on teaching TypeScript, primarily through his platform Total TypeScript. That course aims to transform beginners into TypeScript "wizards" by covering everything from beginner basics to advanced patterns and generics.
Matt is also very active in social media as X (Twitter) and YouTube.
External Links
Check the latest blog posts of Matt Pocok below
Solving TypeScript Errors (tutorial)
November 30, 2023
TypeScript boosts productivity but faces pitfalls like type mismatches, null values, & puzzling errors. Learn to spot & solve these for swift progress.
React with TypeScript (tutorial)
May 01, 2023
Get productive building applications with React and TypeScript with our interactive guide on React's types - from component props to useRef.
Beginner's TypeScript (tutorial)
September 23, 2022
Free interactive video tutorial that will help you get started with TypeScript.
Zod (tutorial)
August 25, 2022
Zod is a TypeScript-first schema declaration and validation library. In this tutorial, Matt Pocock has prepared a set of exercises that will help you level up.
Type Predicates (tip)
November 01, 2023
Understand how Type Predicates work in TypeScript, using an example of filtering a mixed array of elements.
TypeScript 5.1 Beta is OUT! (tip)
April 19, 2023
TypeScript 5.1 is out! With important updates to React Server Components and some small usability updates.
How to Name your Types (tip)
April 12, 2023
How to name your types in TypeScript can be a tricky business. Matt takes you through his opinionated heuristics for how to decide.
Don't use return types, unless... (tip)
February 01, 2023
When should you use return types in TypeScript? The use cases are narrower than you might think...
TypeScript 5.0 Beta Deep Dive (tip)
January 27, 2023
TypeScript 5.0 beta brings a bunch of exciting features, including const annotations and decorators.
Conform a Derived Type Without Losing Its Literal Values (tip)
October 26, 2022
Avoid unexpected behavior of React’s useState (tip)
September 23, 2022
React's useState can behave in slightly unexpected ways in TypeScript - sometimes giving you undefined when you least expect it.
Understand assignability in TypeScript (tip)
September 23, 2022
I often find conditional types SUPER hard to read. Here's how to get a better mental model for assignability in TypeScript.
Compare function overloads and generics (tip)
September 23, 2022
A simple function - returnWhatIPassIn - can be enough to stump many newbie TypeScript devs.
Still struggling with infer? How about this - you can use it in combination with string literals to manipulate keys of objects.
Access deeper parts of objects and arrays (tip)
September 23, 2022
Accessing object values and array members is MUCH more powerful in the type world than it is in the runtime world.
Ensure that all call sites must be given value (tip)
September 23, 2022
This one little tip has saved me hours of refactoring time. Passing string | undefined instead of ?: string ensures that ALL call sites must be given a value.
Understand how TypeScript infers literal types (tip)
September 23, 2022
This mental model is INCREDIBLY useful for all sorts of intermediate-advanced typings.
If you're thinking about putting a TypeScript package up to NPM, you should be considering preconstruct.
Use assertion functions inside classes (tip)
September 22, 2022
You can do some really, really neat stuff with assertion functions inside classes.
You can DRY up your generics code MASSIVELY (and improve perf) by assigning local variables to default generic slots.
Know when to use generics (tip)
September 22, 2022
It can be hard to know when to reach for generics. I'll show you when you need them.
Map over a union type (tip)
September 22, 2022
Mapping over a union type can feel tricky to conceptualise. But actually, TypeScript does it all for you - using Distributive Conditional Types.
The "noUncheckedIndexedAccess" is the most awesome config option you've never heard of.
You can use generics to dynamically specify the number, and type, of arguments to functions.